powered by simpleCommunicator - 2.0.58     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / C++ 17: где он реализован?
25 сообщений из 38, страница 1 из 2
C++ 17: где он реализован?
    #39776775
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть он в VS2017?
XCode в МакОсе?
Где почитать о возможностях?
...
Рейтинг: 0 / 0
C++ 17: где он реализован?
    #39776802
Фотография Cerebrum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
есть
...
Рейтинг: 0 / 0
C++ 17: где он реализован?
    #39776821
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ролг ХупинЕсть он в VS2017?
XCode в МакОсе?
Где почитать о возможностях?


https://en.cppreference.com/w/cpp/compiler_support
...
Рейтинг: 0 / 0
C++ 17: где он реализован?
    #39776825
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivРолг ХупинЕсть он в VS2017?
XCode в МакОсе?
Где почитать о возможностях?


https://en.cppreference.com/w/cpp/compiler_support

спасибо!

А нет ли где примеров с демонстрацией фичей с++17?
...
Рейтинг: 0 / 0
C++ 17: где он реализован?
    #39776855
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Читаю статью на habr по c++ 11

авторРаньше, для обнуления указателей использовался макрос NULL, являющийся нулем — целым типом, что, естественно, вызывало проблемы (например, при перегрузке функций). Ключевое слово nullptr имеет свой собственный тип std::nullptr_t, что избавляет нас от бывших проблем. Существуют неявные преобразования nullptr к нулевому указателю любого типа и к bool (как false), но преобразования к целочисленных типам нет.
void foo(int* p) {}

void bar(std::shared_ptr<int> p) {}

int* p1 = NULL;
int* p2 = nullptr;

if(p1 == p2)
{}

foo(nullptr);
bar(nullptr);

bool f = nullptr;
int i = nullptr; // ошибка: для преобразования в int надо использовать reinterpret_cast



у меня оба дают ошибку, нужно преобразование reinterpret_cast, т.е. неявного преобразования для bool тоже нету

Код: plaintext
1.
2.
bool f = nullptr;
int i = nullptr;
...
Рейтинг: 0 / 0
C++ 17: где он реализован?
    #39776880
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ролг Хупин,

https://godbolt.org/ - тут можно потестить с разными компиляторами и опциями.

А по bool, должно быть так:
Код: plaintext
1.
bool f{nullptr};


Инициализация, а не присвоение.
...
Рейтинг: 0 / 0
C++ 17: где он реализован?
    #39776938
Фэйтл Эра
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ролг Хупин...
А нет ли где примеров с демонстрацией фичей с++17?
Книга "C++ 17 STL Cookbook" - Jacek Galowicz.
На русском - "С++17 STL. Стандартная библиотека шаблонов", Галовиц Яцек.

Могу скинуть образ книжки в pdf.
...
Рейтинг: 0 / 0
C++ 17: где он реализован?
    #39777019
Фотография SashaMercury
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ролг Хупин


А нет ли где примеров с демонстрацией фичей с++17?
Возможно вам будет интересен этот доклад

YouTube Video
...
Рейтинг: 0 / 0
C++ 17: где он реализован?
    #39777224
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Фэйтл ЭраРолг Хупин...
А нет ли где примеров с демонстрацией фичей с++17?
Книга "C++ 17 STL Cookbook" - Jacek Galowicz.
На русском - "С++17 STL. Стандартная библиотека шаблонов", Галовиц Яцек.

Могу скинуть образ книжки в pdf.

Спасибо! было бы хорошо, если можно
...
Рейтинг: 0 / 0
C++ 17: где он реализован?
    #39777227
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ролг ХупинФэйтл Эрапропущено...

Книга "C++ 17 STL Cookbook" - Jacek Galowicz.
На русском - "С++17 STL. Стандартная библиотека шаблонов", Галовиц Яцек.

Могу скинуть образ книжки в pdf.

Спасибо! было бы хорошо, если можно

Нашел уже, спасибо!
...
Рейтинг: 0 / 0
C++ 17: где он реализован?
    #39777399
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ролг ХупинMasterZivпропущено...



https://en.cppreference.com/w/cpp/compiler_support

спасибо!

А нет ли где примеров с демонстрацией фичей с++17?


YouTube Video
...
Рейтинг: 0 / 0
C++ 17: где он реализован?
    #39778035
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как сделать вызов такой функции:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
// конвертирует строку в число, в случае ошибки возвращает 0
// (в отличии от atoi, у которого местами есть неопределённое поведение)
template<class T>
T atoi_17(std::string_view str)
{
	T res{};
	std::from_chars(str.data(), str.data() + str.size(), res);
	return res;
}



Делаю такой вызов

Код: plaintext
1.
2.
	std::string_view str11 = "1234";
	auto ti = atoi_17(str11); // <---------------- 



пишет такое:
авторerror C2672: 'atoi_17': no matching overloaded function found
error C2783: 'T atoi_17(std::string_view)': could not deduce template argument for 'T'


что не так?
...
Рейтинг: 0 / 0
C++ 17: где он реализован?
    #39778037
Фэйтл Эра
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ролг Хупин,

auto потому что.

Как компилятор поймет, какой тип?
...
Рейтинг: 0 / 0
C++ 17: где он реализован?
    #39778042
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Фэйтл ЭраРолг Хупин,

auto потому что.

Как компилятор поймет, какой тип?

так тоже ошибка
Код: plaintext
1.
2.
	std::string_view str11 = "1243";
	int ti = atoi_17(str11);
...
Рейтинг: 0 / 0
C++ 17: где он реализован?
    #39778049
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Фэйтл ЭраРолг Хупин,

auto потому что.

Как компилятор поймет, какой тип?

так проходит

Код: plaintext
1.
2.
3.
4.
5.
6.
int atoi_172(std::string_view str)
{
	int res{};
	std::from_chars(str.data(), str.data() + str.size(), res);
	return res;
}



а если вместо явного типа указать шаблон - ошибка
Код: plaintext
1.
2.
3.
4.
5.
6.
template<class T> T atoi_17(std::string_view str)
{
	T res{};
	std::from_chars(str.data(), str.data() + str.size(), res);
	return res;
}




может какой-то инклуде забыл?
...
Рейтинг: 0 / 0
C++ 17: где он реализован?
    #39778064
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
auto ti = atoi_17<int>(str11);
...
Рейтинг: 0 / 0
C++ 17: где он реализован?
    #39778065
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну и таки изучить шаблоны, а не гадать
...
Рейтинг: 0 / 0
C++ 17: где он реализован?
    #39778068
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Anatoly Moskovsky
Код: plaintext
1.
auto ti = atoi_17<int>(str11);



точно, прощёлкал
...
Рейтинг: 0 / 0
C++ 17: где он реализован?
    #39778070
Фэйтл Эра
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ролг Хупин,

попробуй

Код: plaintext
1.
2.
	std::string_view str11 = "1234";
	auto ti = atoi_17<int>(str11); 
...
Рейтинг: 0 / 0
C++ 17: где он реализован?
    #39778072
Фэйтл Эра
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ага, уже.
...
Рейтинг: 0 / 0
C++ 17: где он реализован?
    #39778146
Lepsik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В VS2019 уже C++ v.20 имплементорован.
...
Рейтинг: 0 / 0
C++ 17: где он реализован?
    #39778857
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Прочитал в книжке, пишут:

авторthe following expressions are evaluated in the order a, then b, then c:
1. a.b
2. a->b
3. a->*b
4. a(b1, b2, b3)
5. b @= a
6. a[b]
7. a << b
8. a >> b


пункты 4 и 6 не совсем понял: в 4 вообще-то должны быть параметры evaluated , а потом уже функция.
И 6 типа того.
...
Рейтинг: 0 / 0
C++ 17: где он реализован?
    #39778877
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В этих случаях а - не функция и не массив, а, возможно, класс.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
C++ 17: где он реализован?
    #39779221
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Anatoly MoskovskyРолг Хупин,

https://godbolt.org/ - тут можно потестить с разными компиляторами и опциями.

А по bool, должно быть так:
Код: plaintext
1.
bool f{nullptr};


Инициализация, а не присвоение.

кстати, на
https://gcc.godbolt.org/

только компиляция?
а как запустить приложение, консольное хотя бы?
...
Рейтинг: 0 / 0
C++ 17: где он реализован?
    #39779453
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ролг Хупин,

На godbolt - никак.
Тут можно https://ideone.com/ но выбор опций небольшой.
...
Рейтинг: 0 / 0
25 сообщений из 38, страница 1 из 2
Форумы / C++ [игнор отключен] [закрыт для гостей] / C++ 17: где он реализован?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]