Запитання з тегом «c++-faq»

Забезпечує спільне редагування питань C ++, що редагуються спільнотою

2
Що таке "проміжок" і коли я повинен його використовувати?
Нещодавно я отримував пропозиції використовувати span<T>"у своєму коді" або бачив відповіді на сайті, які використовують span"нібито" якийсь контейнер. Але я нічого подібного не можу знайти у стандартній бібліотеці C ++ 17. Отже, що це за таємниче span<T>, і чому (або коли) це гарна ідея використовувати його, якщо це нестандартно?

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

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

18
Чому летучий існує?
Що робить volatile ключове слово? У C ++ яку проблему вона вирішує? У моєму випадку я ніколи свідомо не потребував цього.
222 c++  volatile  c++-faq 


3
Що таке оператор <=> в C ++?
Поки я намагався дізнатися про операторів C ++ , я натрапив на дивного оператора порівняння на cppreference.com , * у таблиці, яка виглядала так: "Ну, якщо це звичайні оператори в C ++, я краще їх вивчу", - подумав я. Але всі мої спроби з’ясувати цю таємницю були безуспішними. Навіть тут, …

11
Які загальні невизначені форми поведінки, про які повинен знати програміст на C ++? [зачинено]
Важко сказати, про що тут питають. Це питання є неоднозначним, розпливчастим, неповним, надто широким або риторичним і не може бути обґрунтованим відповіді в його теперішній формі. Для уточнення цього питання, щоб його можна було знову відкрити, відвідайте довідковий центр . Закрито 7 років тому . Заблокований . Це запитання та …

3
Чому я маю доступ до членів базового класу шаблонів через цей покажчик?
Якщо нижче класи були шаблони я міг би просто мати 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() { return this-&gt;x; } }; int …

30
Як не допустити негайного запуску програми консолі C ++?
Останнім часом я намагаюся вивчити C ++ на цьому веб-сайті . На жаль, кожного разу, коли я намагаюся запустити один із зразків коду, я бачу, що програма відкривається приблизно на півтори секунди, а потім негайно закривається. Чи є спосіб негайно зупинити програму, щоб я побачив плоди своїх зусиль?
193 c++  console  exit  terminate  c++-faq 

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



2
Чому "це" вказівник, а не посилання?
Я читав відповіді на це питання «за» і «проти» C ++ і мав це сумніви під час читання коментарів. програмісти часто вважають заплутаним, що "це" є вказівником, але не посиланням. чергова плутанина, чому "привіт" не типу std :: string, але оцінює до char const * (покажчик) (після перетворення масиву в …

2
Чи застаріла ідіома безпечного була в C ++ 11?
Ця відповідь @R. Мартінхо Фернандес показує, що ідіома безпечного булінгу в C ++ 11 суттєво застаріла, оскільки її можна замінити простим explicit operator bool() const; згідно зі стандартною цитатою у відповіді §4 [conv] p3: Вираз e може бути неявно перетворений у тип, Tякщо і лише якщо декларація T t=e;добре сформована, …


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.