Вопросы с тегом «c++-faq»

Предоставляет совместный, отредактированный сообществом C ++ FAQ

2
Что такое «промежуток» и когда я должен его использовать?
Недавно я получил предложения использовать span<T>их в своем коде или увидел здесь некоторые ответы на сайте, которые используют span- предположительно, какой-то контейнер. Но - я не могу найти ничего подобного в стандартной библиотеке C ++ 17. Так что же это за таинственное span<T>и почему (или когда) стоит использовать его, если …

4
Какой тип указателя мне использовать, когда?
Итак, в прошлый раз, когда я писал на С ++, std::auto_ptrвсе, что было доступно в std lib, boost::shared_ptrбыло в ярости. Я действительно никогда не смотрел на другие типы улучшенных умных указателей. Я понимаю, что C ++ 11 теперь предоставляет некоторые из типов boost, но не все. Так есть ли у …

11
Почему неконстантная ссылка не может привязываться к временному объекту?
Почему нельзя получить неконстантную ссылку на временный объект, который getx()возвращает функция ? Понятно, что это запрещено C ++ Standard, но меня интересует цель такого ограничения, а не ссылка на стандарт. struct X { X& ref() { return *this; } }; X getx() { return X();} void g(X & x) {} …



3
Что такое оператор <=> в C ++?
В то время как я пытался узнать о C ++ операторов, я наткнулся на операторе странного сравнения на cppreference.com , * в таблице , которая выглядит следующим образом : «Ну, если это обычные операторы в C ++, я лучше их изучу», - подумал я. Но все мои попытки выяснить эту …

11
Каковы все распространенные неопределенные поведения, о которых должен знать программист C ++? [закрыто]
Трудно сказать, что здесь спрашивают. Этот вопрос является двусмысленным, расплывчатым, неполным, чрезмерно широким или риторическим, и на него нельзя дать разумный ответ в его нынешней форме. Чтобы получить разъяснения по этому вопросу, чтобы его можно было снова открыть, посетите справочный центр . Закрыто 7 лет назад . Locked . Этот …

3
Почему я должен получить доступ к членам базового класса шаблона через указатель this?
Если бы приведенные ниже классы не были шаблонами, я мог бы просто иметь их xв derivedклассе. Тем не менее, с кодом ниже, я должен использовать this-&gt;x. Зачем? template &lt;typename T&gt; class base { protected: int x; }; template &lt;typename T&gt; class derived : public base&lt;T&gt; { public: int f() { …

30
Как остановить консольное приложение C ++ от немедленного выхода?
В последнее время я пытался изучить C ++ с этого сайта . К сожалению, всякий раз, когда я пытаюсь запустить один из примеров кода, я вижу, что программа открывается примерно на полсекунды, а затем сразу же закрывается. Есть ли способ остановить немедленное закрытие программы, чтобы я мог видеть плоды моих …
193 c++  console  exit  terminate  c++-faq 

9
Какие идиомы C ++ устарели в C ++ 11?
С новым стандартом появляются новые способы ведения дел, и многие из них более хороши, чем старые, но старый способ все еще в порядке. Также ясно, что новый стандарт официально не очень устарел по причинам обратной совместимости. Итак, вопрос, который остается: Какие старые способы кодирования определенно уступают стилям C ++ 11, …
192 c++  c++11  c++-faq 



2
Почему «это» указатель, а не ссылка?
Я читал ответы на этот вопрос плюсы и минусы C ++ и получил это сомнение, читая комментарии. Программисты часто путают, что «это» - указатель, а не ссылка. Другая путаница заключается в том, что «hello» не относится к типу std :: string, а вычисляется как char const * (указатель) (после преобразования …

2
Является ли идиома safe-bool устаревшей в C ++ 11?
Этот ответ @R. Мартиньо Фернандес показывает, что идиома безопасного булла в C ++ 11 явно устарела, так как ее можно заменить простым explicit operator bool() const; согласно стандартной цитате в ответе §4 [conv] p3: Выражение e может быть неявно преобразовано в тип Tтогда и только тогда, когда объявление T t=e;правильно …

4
Что такое «Аргумент-зависимый поиск» (он же ADL или «Поиск Кенига»)?
Каковы хорошие объяснения того, что поиск зависит от аргумента? Многие также называют это Koenig Lookup. Желательно, чтобы я знал: Почему это хорошо? Почему это плохо? Как это работает?

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.