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

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

12
Вказівник проти посилання
Що було б кращою практикою при наданні функції оригінальної змінної для роботи: unsigned long x = 4; void func1(unsigned long& val) { val = 5; } func1(x); або: void func2(unsigned long* val) { *val = 5; } func2(&x); IOW: Чи є підстави обрати один одного?

10
Визначте, чи карта містить значення для ключа?
Який найкращий спосіб визначити, чи карта STL містить значення для заданого ключа? #include <map> using namespace std; struct Bar { int i; }; int main() { map<int, Bar> m; Bar b = {0}; Bar b1 = {1}; m[0] = b; m[1] = b1; //Bar b2 = m[2]; map<int, Bar>::iterator iter …
256 c++  stl  map 

15
Призначення об'єднань в C і C ++
Раніше я зручніше використовував спілки; сьогодні я насторожився, коли прочитав цей пост і дізнався, що це код union ARGB { uint32_t colour; struct componentsTag { uint8_t b; uint8_t g; uint8_t r; uint8_t a; } components; } pixel; pixel.colour = 0xff040201; // ARGB::colour is the active member from now on // …
254 c++  c  unions  type-punning 

14
Переваги вбудованих функцій в C ++?
Які переваги / недоліки використання вбудованих функцій в C ++? Я бачу, що це лише збільшує продуктивність для коду, який видає компілятор, але з оптимізованими сьогодні компіляторами, швидкими процесорами, величезною пам'яттю тощо (не так, як у 1980 р. <Де пам'яті було дефіцитно і все повинно вміщуватися в 100 КБ пам'яті), …

8
"Розпакування" кортежу для виклику відповідного вказівника функції
Я намагаюся зберігати std::tupleрізну кількість значень, які згодом будуть використані як аргументи для виклику покажчика функції, який відповідає збереженим типам. Я створив спрощений приклад, який показує проблему, яку я намагаюся вирішити: #include <iostream> #include <tuple> void f(int a, double b, void* c) { std::cout << a << ":" << b …

4
Як перетворити масив char у рядок?
Перетворення C ++ stringу масив char досить прямолінійне за допомогою c_strфункції рядка, а потім виконання strcpy. Однак як зробити навпаки? У мене є масив символів , як: char arr[ ] = "This is a test";бути перетворений назад в: string str = "This is a test.
254 c++  string  char  arrays 


3
Порядок оцінки списку ініціалізації конструктора
У мене є конструктор, який бере деякі аргументи. Я припускав, що вони побудовані в перерахованому порядку, але в одному випадку виявляється, що вони були побудовані в зворотному порядку, що призводить до переривання. Коли я перевернув аргументи, програма перестала робити аборт. Це приклад синтаксису, який я використовую. Справа в тому, що …
252 c++  gcc  c++-faq 

10
Що означає {0} при ініціалізації об'єкта?
Коли {0}використовується для ініціалізації об'єкта, що це означає? Я {0}ніде не можу знайти жодних посилань , і через фігурні дужки пошук Google не корисний. Приклад коду: SHELLEXECUTEINFO sexi = {0}; // what does this do? sexi.cbSize = sizeof(SHELLEXECUTEINFO); sexi.hwnd = NULL; sexi.fMask = SEE_MASK_NOCLOSEPROCESS; sexi.lpFile = lpFile.c_str(); sexi.lpParameters = args; …
252 c++  c 


8
Як змусити мій тип користування працювати з "діапазоном на основі циклів"?
Як і багато людей, в наші дні я пробую різні функції, які приносить C ++ 11. Один з моїх улюблених - це "діапазон для петель". Я розумію, що: for(Type& v : a) { ... } Еквівалентний: for(auto iv = begin(a); iv != end(a); ++iv) { Type& v = *iv; ... …

7
Як я можу прокладати Int з провідними нулями при використанні оператора cout <<? [дублікат]
На це питання вже є відповіді : Друкувати провідні нулі за допомогою оператора виводу C ++? (5 відповідей) Закрито вчора . Я хочу coutвивести Int з провідними нулями, щоб значення 1було надруковано як, 001а значення 25надруковано як 025. Як я можу це зробити?
251 c++  formatting  cout 


26
Які методи можна використовувати для прискорення часу компіляції на C ++?
Які методи можна використовувати для прискорення часу компіляції на C ++? Це питання з'явилося в деяких коментарях до питання стилю програмування C ++ щодо Stack Overflow , і мені цікаво почути, які ідеї існують. Я бачив відповідне запитання: Чому компіляція C ++ займає так довго? , але це не забезпечує …
249 c++ 

7
Як передавати об’єкти функціям в C ++?
Я новачок у програмуванні на C ++, але маю досвід роботи в Java. Мені потрібні вказівки щодо передачі об'єктів функціям на C ++. Чи потрібно мені передавати вказівники, посилання чи не-вказівні та неопосилання? Пам’ятаю, у Java таких питань немає, оскільки ми передаємо лише змінну, яка містить посилання на об’єкти. Було …

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