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

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

13
Коли я можу використовувати пряму декларацію?
Я шукаю визначення, коли мені дозволяється робити переадресацію класу в файлі заголовка іншого класу: Чи дозволено мені це робити для базового класу, для класу, що знаходиться як член, для класу, переданого функції члена за посиланням тощо?

4
Чому iostream :: eof всередині циклу (тобто `while (! Stream.eof ())`) вважається неправильним?
Щойно я знайшов коментар у цій відповіді, в якому говорилося, що використовувати iostream::eofв циклі стан "майже напевно неправильно". Я, як правило, використовую щось на кшталт while(cin>>n)- яке, мабуть, неявно перевіряє на EOF. Чому перевірка eof явно використовує while (!cin.eof())неправильно? Чим він відрізняється від використання scanf("...",...)!=EOFв C (яким я часто користуюся …
595 c++  iostream  c++-faq 

12
C ++: "std :: endl" проти "\ n"
Багато книг на C ++ містять приклад подібного коду ... std::cout << "Test line" << std::endl; ... тому я теж завжди робив це. Але я бачив дуже багато коду від працюючих розробників на зразок цього: std::cout << "Test line\n"; Чи є технічна причина віддати перевагу одній над іншою, чи це …

6
Правила недійсності ітератора
Які правила відключення ітератора для контейнерів C ++? Переважно у форматі підсумкового списку. (Примітка. Це означає, що це запис до C ++ FAQ Stack Overflow . Якщо ви хочете критикувати ідею надання поширених запитань у цій формі, то тут слід зробити публікацію про мета, яка почала все це . Відповіді …
543 c++  c++11  iterator  c++17  c++-faq 

5
Як використовувати масиви в C ++?
C ++ успадковані масиви від C, де вони використовуються практично скрізь. C ++ надає абстракції, які простіше у використанні і менш схильні до помилок ( std::vector<T>оскільки C ++ 98 і std::array<T, n>так як C ++ 11 ), тому потреба в масивах не виникає настільки ж часто , як це робиться …

5
Яка різниця між "STL" та "Стандартною бібліотекою C ++"?
Хтось звернув цю статтю до мене, що стверджує (я перефразую) термін STL зловживається для позначення всієї стандартної бібліотеки C ++ замість частин, взятих із SGI STL. (...) він посилається на "STL", незважаючи на те, що дуже мало людей досі використовують STL (що було розроблено в SGI). Частини стандартної бібліотеки C …

30
Які відмінності між структурою та класом у C ++?
Це питання вже задавались у контексті мережі C # / . Тепер я хотів би дізнатися про відмінності між структурою та класом в C ++. Будь ласка, обговоріть технічні відмінності, а також причини вибору того чи іншого дизайну ОО. Почну з очевидної різниці: Якщо ви не вказуєте public:або private:, члени …
441 c++  oop  class  struct  c++-faq 

6
Які основні цілі використання std :: forward та які проблеми вона вирішує?
У ідеальній переадресації std::forwardвикористовується для перетворення названих посилань на rvalue t1та t2в неназвані посилання rvalue. Яка мета цього робити? Як би це вплинуло на викликану функцію, innerякщо ми залишимо t1& t2як lvalues? template <typename T1, typename T2> void outer(T1&& t1, T2&& t2) { inner(std::forward<T1>(t1), std::forward<T2>(t2)); }

6
C ++ 11 переоцінює та змішує зміщення семантики (виписка із повернення)
Я намагаюся зрозуміти рецензії на значення і перемістити семантику C ++ 11. Яка різниця між цими прикладами, і який із них не буде робити жодної векторної копії? Перший приклад std::vector<int> return_vector(void) { std::vector<int> tmp {1,2,3,4,5}; return tmp; } std::vector<int> &&rval_ref = return_vector(); Другий приклад std::vector<int>&& return_vector(void) { std::vector<int> tmp {1,2,3,4,5}; …


6
Як працює процес компіляції / зв’язування?
Як працює процес компіляції та зв’язування? (Примітка. Це означає, що це запис до C ++ FAQ Stack Overflow . Якщо ви хочете критикувати ідею надання поширених запитань у цій формі, то тут слід зробити публікацію про мета, яка почала все це . Відповіді на це питання відстежується в кімнаті чатів …

12
Де я можу знайти поточні стандартні документи на C або C ++?
Відповіді на це запитання - це зусилля громади . Відредагуйте наявні відповіді, щоб покращити цю публікацію. Наразі не приймає нових відповідей чи взаємодій. На цей питання є відповіді на Stack Overflow на російському : Где взяти стандарт C ++? На багато запитань відповідь, здається, знаходиться у «стандарті». Однак де ми …
394 c++  c  standards  c++-faq 

4
Що таке оптимізація копіювання і оптимізація повернення?
Що таке копіювання elision? Що таке (названа) оптимізація повернення? Що вони мають на увазі? У яких ситуаціях вони можуть виникнути? Що таке обмеження? Якщо ви посилалися на це питання, ви, ймовірно, шукаєте вступу . Технічний огляд див. У стандартній довідці . Дивіться поширені випадки тут .

11
Вирішіть помилки побудови через кругову залежність між класами
Я часто опиняюся в ситуації, коли я стикаюся з декількома помилками компіляції / посилання в проекті C ++ через деякі погані дизайнерські рішення (прийняті ким-небудь іншим :)), які призводять до кругової залежності між класами C ++ у різних файлах заголовків (може траплятися також у цьому ж файлі) . Але, на …

6
Який XML-аналізатор я повинен використовувати в C ++? [зачинено]
Зачинено. Це питання не відповідає вказівкам щодо переповнення стека . Наразі відповіді не приймаються. Хочете вдосконалити це питання? Оновіть питання, щоб воно було тематичним для переповнення стека. Закрито 2 роки тому . Удосконаліть це питання У мене є документи XML, які мені потрібно проаналізувати та / або мені потрібно створити …
344 c++  xml-parsing  c++-faq 

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