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

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

7
Як сортувати вектор пар на основі другого елемента пари?
Якщо у мене вектор пар: std::vector<std::pair<int, int> > vec; Чи існує простий спосіб сортування списку в порядку зростання, виходячи з другого елемента пари? Я знаю, що можу написати невеликий об’єкт функції, який буде виконувати роботу, але чи є спосіб використовувати існуючі частини STL та std::lessвиконувати роботу безпосередньо? EDIT: Я розумію, …
133 c++  stl  stdvector 



4
Як слід використовувати std :: необов’язково?
Я читаю документацію std::experimental::optionalі маю гарне уявлення про те, що вона робить, але не розумію, коли я повинен її використовувати або як мені її використовувати. Цей веб-сайт не містить жодних прикладів, які ще важче зрозуміють справжню концепцію цього об'єкта. Коли це std::optionalвдалий вибір для використання та як це компенсувати те, …


18
Чи стає більш поширеним сучасний C ++? [зачинено]
Наразі це запитання не підходить для нашого формату запитань. Ми очікуємо, що відповіді будуть підкріплені фактами, посиланнями або експертними знаннями, але це питання, ймовірно, вимагатиме дискусій, аргументів, опитувань чи розширеної дискусії. Якщо ви вважаєте, що це питання можна вдосконалити та, можливо, знову відкрити, відвідайте довідковий центр для ознайомлення . Закрито …
132 c++ 

6
C ++: чому bool становить 8 біт?
У мові C ++ мені цікаво, чому тип bool дорівнює 8 біт (у моїй системі), де достатньо лише одного біта для утримання булевого значення? Раніше я вважав, що це з міркувань продуктивності, але тоді на 32-бітній або 64-бітовій машині, де регістри шириною 32 або 64 біти, яка перевага від продуктивності? …
132 c++  boolean  size 

25
Навіщо хтось використовувати C над C ++? [зачинено]
Наразі це запитання не підходить для нашого формату запитань. Ми очікуємо, що відповіді будуть підкріплені фактами, посиланнями або експертними знаннями, але це питання, ймовірно, вимагатиме дискусій, аргументів, опитувань чи розширеної дискусії. Якщо ви вважаєте, що це питання можна вдосконалити та, можливо, знову відкрити, відвідайте довідковий центр для ознайомлення . Закрито …
132 c++  c 


1
Які відмінності між -std = c ++ 11 і -std = gnu ++ 11?
Які відмінності між -std=c++11і в -std=gnu++11якості параметра компіляції для GCC і дзвону? Те саме питання з c99і gnu99? Я знаю про стандарти C ++ і C, мене цікавлять відмінності в параметрах. Я десь читав, що це стосується деяких розширень, але мені незрозуміло, які з них і як вибрати для того …
132 c++  gcc  c++11  clang 

10
Чому компілятори C і C ++ допускають довжину масивів у підписах функцій, коли вони ніколи не застосовуються?
Це те, що я виявив під час свого навчання: #include<iostream> using namespace std; int dis(char a[1]) { int length = strlen(a); char c = a[2]; return length; } int main() { char b[4] = "abc"; int c = dis(b); cout << c; return 0; } Тож у змінній int dis(char …
131 c++  c  arrays 

11
Чи є головним () дійсно запуском програми на C ++?
Розділ $ 3.6.1 / 1 із стандарту C ++ читає, Програма повинна містити глобальну функцію, яку називають основною , яка позначається початком програми. Тепер розглянемо цей код, int square(int i) { return i*i; } int user_main() { for ( int i = 0 ; i < 10 ; ++i ) …

4
Як переслати декларувати шаблон шаблону в просторі імен std?
#ifndef __TEST__ #define __TEST__ namespace std { template<typename T> class list; } template<typename T> void Pop(std::list<T> * l) { while(!l->empty()) l->pop(); } #endif і використовував цю функцію в моєму головному. Я отримую помилки. Звичайно, я знаю, що існує більше параметри шаблонів для std::list(розподільник, я думаю). Але це вже не в …
131 c++  templates  g++ 


2
У режимі випуску поведінка коду не така, як очікувалося
Наступний код генерує різні результати в режимі налагодження та режимі випуску (використовуючи Visual Studio 2008): int _tmain(int argc, _TCHAR* argv[]) { for( int i = 0; i < 17; i++ ) { int result = i * 16; if( result > 255 ) { result = 255; } printf("i:%2d, result …

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