powered by simpleCommunicator - 2.0.58     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / C++ 17: где он реализован?
38 сообщений из 38, показаны все 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
C++ 17: где он реализован?
    #39779482
Фотография NekZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ролг ХупинAnatoly MoskovskyРолг Хупин,

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

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


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

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

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

На godbolt - никак.
Тут можно https://ideone.com/ но выбор опций небольшой.

Здесь еще нашел, можно пускать

http://coliru.stacked-crooked.com
...
Рейтинг: 0 / 0
C++ 17: где он реализован?
    #39779567
a.guest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ролг ХупинПрочитал в книжке, пишут:
автор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 типа того.Вычисление `a` это не вызов функции. Вызов функции это вычисление `a(b1, b2, b3)`.
Аналогично для пункта 6.
...
Рейтинг: 0 / 0
C++ 17: где он реализован?
    #39779568
a.guest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry SibiryakovВ этих случаях а - не функция и не массив, а, возможно, класс.Откуда такой вывод?
...
Рейтинг: 0 / 0
C++ 17: где он реализован?
    #39779572
Фэйтл Эра
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
a.guestВычисление `a` это не вызов функции.
Пример приведите, пожалуйста.
...
Рейтинг: 0 / 0
C++ 17: где он реализован?
    #39779573
a.guest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Фэйтл Эраa.guestВычисление `a` это не вызов функции.
Пример приведите, пожалуйста.Пример чего?
...
Рейтинг: 0 / 0
C++ 17: где он реализован?
    #39779574
Фэйтл Эра
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
a.guest,

вычисления "а".
...
Рейтинг: 0 / 0
C++ 17: где он реализован?
    #39779575
a.guest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Фэйтл Эравычисления "а".
Код: plaintext
1.
2.
3.
void f(int);
//...
f(0);


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

это понятно, но как тут выполняется "вычисление" 'а', которое должно выполняться до вычисления аргументов 'b'?
...
Рейтинг: 0 / 0
C++ 17: где он реализован?
    #39779577
a.guest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Фэйтл Эракак тут выполняется "вычисление" 'а'Что такое lvalue знаете?
...
Рейтинг: 0 / 0
C++ 17: где он реализован?
    #39779580
a.guest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ролг Хупинкстати, на
https://gcc.godbolt.org/

только компиляция?
а как запустить приложение, консольное хотя бы? https://wandbox.org/
...
Рейтинг: 0 / 0
C++ 17: где он реализован?
    #39779783
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Фэйтл Эравычисления "а".

Код: sql
1.
func_arr[i](x);


Код: sql
1.
callable<int>(obj)(x);


Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
C++ 17: где он реализован?
    #39779834
Фэйтл Эра
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

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


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