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

C ++ - мова програмування загального призначення. Спочатку він був розроблений як розширення до C і має подібний синтаксис, але зараз це зовсім інша мова. Використовуйте цей тег для запитань про код (який потрібно) зібрати за допомогою компілятора C ++. Використовуйте тег, що стосується версії, для питань, пов’язаних із конкретною стандартною редакцією [C ++ 11], [C ++ 14], [C ++ 17] або [C ++ 20] тощо.

4
Як реалізована функція std ::?
Згідно з джерелами, які я знайшов, лямбда-вираз по суті реалізується компілятором, створюючи клас із перевантаженим оператором виклику функції та посиланими змінними як членами. Це свідчить про те, що розмір лямбда-виразів варіюється, і з урахуванням достатньої кількості посилальних змінних, розмір яких може бути довільно великим . Антон std::functionповинен мати фіксований розмір …
98 c++  c++11  lambda 

4
Впровадження операторів порівняння за допомогою “кортеж” та “краватка”, хороша ідея?
(Примітка: tupleі tieможе бути взято з Boost , або C ++ 11.) При написанні невеликих структур тільки з двох елементів, я іноді , як правило, вибрати std::pair, так як всі важливі речі вже зроблена для цього типу даних, як operator<для суворого слабкого упорядкування . Недоліками є, однак, досить марні імена …



8
Initializer_list та перемістити семантику
Чи дозволяється мені переміщувати елементи з a std::initializer_list<T>? #include <initializer_list> #include <utility> template<typename T> void foo(std::initializer_list<T> list) { for (auto it = list.begin(); it != list.end(); ++it) { bar(std::move(*it)); // kosher? } } Оскільки std::intializer_list<T>вимагає особливої ​​уваги компілятора і не має семантики значення, як звичайні контейнери стандартної бібліотеки C ++, …

6
Чи є винятки в C ++ дійсно повільними
Я спостерігав за систематичною обробкою помилок у C ++ - Андрій Александреску, він стверджує, що винятки в C ++ дуже повільні. Чи все ще це справедливо для С ++ 98?
98 c++ 

7
У чому різниця між cout, cerr, clog of iostream header у c ++? Коли використовувати який?
Я намагався дослідити різницю між cout, cerrі clogв Інтернеті , але не міг знайти ідеальний відповідь. Мені досі незрозуміло, коли використовувати який. Хто-небудь може пояснити мені за допомогою простих програм і проілюструвати ідеальну ситуацію щодо того, коли використовувати яку? Я відвідав цей сайт, який показує невелику програму на cerrі clog, …
98 c++  iostream  cout  clog 




2
Запобігання прийому функції const std :: string & від прийняття 0
Варто тисячі слів: #include<string> #include<iostream> class SayWhat { public: SayWhat& operator[](const std::string& s) { std::cout<<"here\n"; // To make sure we fail on function entry std::cout<<s<<"\n"; return *this; } }; int main() { SayWhat ohNo; // ohNo[1]; // Does not compile. Logic prevails. ohNo[0]; // you didn't! this compiles. return 0; …

14
Чому слід уникати кастингу? [зачинено]
Закрито . Це питання має бути більш зосередженим . Наразі відповіді не приймаються. Хочете вдосконалити це питання? Оновіть питання, щоб він зосередив увагу на одній проблемі лише редагуючи цю публікацію . Закрито 4 роки тому . Удосконаліть це питання Я, як правило, уникаю типів кастингу якомога більше, оскільки мені здається, …
97 c#  java  c++  casting 

4
Як користуватися QueryPerformanceCounter?
Нещодавно я вирішив, що мені потрібно перейти від використання мілісекунд до мікросекунд для мого класу Таймер, і після деяких досліджень я вирішив, що QueryPerformanceCounter - це, напевно, моя найбезпечніша ставка. (Попередження про Boost::Posixте, що він може не працювати на Win32 API, трохи відклало мене). Однак я не дуже впевнений, як …
97 c++  windows  timer 

7
Як може працювати програма з глобальною змінною, яка називається main замість основної функції?
Розглянемо наступну програму: #include <iostream> int main = ( std::cout << "C++ is excellent!\n", 195 ); Використовуючи g ++ 4.8.1 (mingw64) в ОС Windows 7, програма компілює та працює добре, друкуючи: C ++ відмінна! до консолі. mainвидається глобальною змінною, а не функцією; як ця програма може виконуватись без функції main()? …

10
Який найкращий спосіб перевірити, чи існує файл у C ++? (крос-платформа)
Я прочитав відповіді на запитання: Який найкращий спосіб перевірити, чи існує файл у C? (крос-платформа) , але мені цікаво, чи є кращий спосіб зробити це, використовуючи стандартні бібліотеки c ++? Бажано, взагалі не намагаючись відкрити файл. І те, statі accessінше, в основному не піддається керуванню. Що я #includeповинен використовувати?
97 c++  file  file-io 

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