Вопросы с тегом «c++»

C ++ - это язык программирования общего назначения. Первоначально он был разработан как расширение C и имеет аналогичный синтаксис, но теперь это совершенно другой язык. Используйте этот тег для вопросов о коде (который будет скомпилирован с помощью компилятора C ++). Используйте тег, зависящий от версии, для вопросов, связанных с конкретной редакцией стандарта [C ++ 11], [C ++ 14], [C ++ 17] или [C ++ 20] и т. Д.

30
C ++ блоги, которые вы регулярно читаете? [закрыто]
В настоящее время этот вопрос не очень подходит для нашего формата вопросов и ответов. Мы ожидаем, что ответы будут подтверждены фактами, ссылками или опытом, но этот вопрос, скорее всего, вызовет дебаты, споры, опрос или расширенное обсуждение. Если вы считаете, что этот вопрос можно улучшить и, возможно, вновь открыть, обратитесь за …
183 c++  blogs 

22
Является ли встроенный язык ассемблера медленнее, чем собственный код C ++?
Я попытался сравнить производительность встроенного языка ассемблера и кода C ++, поэтому я написал функцию, которая добавляет два массива размером 2000 для 100000 раз. Вот код: #define TIMES 100000 void calcuC(int *x,int *y,int length) { for(int i = 0; i < TIMES; i++) { for(int j = 0; j < …
183 c++  c  performance  assembly 

9
Почему вы используете typedef при объявлении enum в C ++?
Я не писал C ++ годами и сейчас пытаюсь вернуться к нему. Затем я наткнулся на это и подумал о том, чтобы сдаться: typedef enum TokenType { blah1 = 0x00000000, blah2 = 0X01000000, blah3 = 0X02000000 } TokenType; Что это? Почему typedefключевое слово используется здесь? Почему имя TokenTypeпоявляется дважды в …
183 c++  enums  typedef 

2
Почему «это» указатель, а не ссылка?
Я читал ответы на этот вопрос плюсы и минусы C ++ и получил это сомнение, читая комментарии. Программисты часто путают, что «это» - указатель, а не ссылка. Другая путаница заключается в том, что «hello» не относится к типу std :: string, а вычисляется как char const * (указатель) (после преобразования …

5
Насколько хорошо Юникод поддерживается в C ++ 11?
Я читал и слышал, что C ++ 11 поддерживает Unicode. Несколько вопросов по этому поводу: Насколько хорошо стандартная библиотека C ++ поддерживает Unicode? Делает std::stringто, что должен? Как мне это использовать? Где потенциальные проблемы?
183 c++  unicode  c++11 

12
Есть ли ограничение максимальной длины массива в C ++?
Есть ли максимальная длина для массива в C ++? Это предел C ++ или это зависит от моей машины? Это настраивается? Зависит ли это от типа массива? Могу ли я как-то нарушить этот лимит или мне нужно искать лучший способ хранения информации? И какой должен быть самый простой способ? Что …
183 c++  arrays 


11
Как вызвать стирание с обратным итератором
Я пытаюсь сделать что-то вроде этого: for ( std::list< Cursor::Enum >::reverse_iterator i = m_CursorStack.rbegin(); i != m_CursorStack.rend(); ++i ) { if ( *i == pCursor ) { m_CursorStack.erase( i ); break; } } Однако стирание требует итератор, а не обратный итератор. Есть ли способ преобразовать обратный итератор в обычный итератор …
181 c++ 

25
Неразрешенный внешний символ в объектных файлах
Во время кодирования в Visual Studio я получил неразрешенную внешнюю ошибку символа и понятия не имею, что делать. Я не знаю что не так. Не могли бы вы расшифровать меня? Где я должен искать какие ошибки? 1>Form.obj : error LNK2019: unresolved external symbol "public: class Field * __thiscall Field::addField(class Field …

19
Как найти утечку памяти в коде / проекте C ++?
Я программист C ++ на платформе Windows. Я использую Visual Studio 2008. Я обычно заканчиваю в коде с утечками памяти. Обычно я проверяю код на наличие утечки памяти, но она громоздка и не всегда подходит. Поскольку я не могу позволить себе платное средство обнаружения утечек памяти, я хотел, чтобы вы, …
180 c++  memory-leaks 

16
Где хранятся статические переменные в C и C ++?
В каком сегменте (.BSS, .DATA и т. Д.) Исполняемого файла хранятся статические переменные, чтобы избежать конфликта имен? Например: foo.c: bar.c: static int foo = 1; static int foo = 10; void fooTest() { void barTest() { static int bar = 2; static int bar = 20; foo++; foo++; bar++; bar++; …

4
Что происходит при запуске компьютерной программы?
Я знаю общую теорию, но не могу вписаться в детали. Я знаю, что программа находится во вторичной памяти компьютера. Как только программа начинает выполнение, она полностью копируется в оперативную память. Затем процессор извлекает за раз несколько инструкций (это зависит от размера шины), помещает их в регистры и выполняет их. Я …




Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.