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

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

10
Какие критические изменения введены в C ++ 11?
Я знаю, что, по крайней мере, одно из изменений в C ++ 11, которое приведет к тому, что старый код перестанет компилироваться: введение explicit operator bool()в стандартную библиотеку, замена старых экземпляров operator void*(). Конечно, код, который это нарушит, - это, вероятно, код, который в первую очередь не должен был быть …
227 c++  c++11 

18
Почему оператор switch нельзя применять к строкам?
Компилируя следующий код и получил ошибку type illegal. int main() { // Compilation error - switch expression of type illegal switch(std::string("raj")) { case"sda": } } Вы не можете использовать строку в switchили case. Зачем? Есть ли какое-нибудь решение, которое хорошо работает для поддержки логики, похожей на включение строк?

5
Является ли ключевое слово override просто проверкой переопределенного виртуального метода?
Насколько я понимаю, введение overrideключевого слова в C ++ 11 является не чем иным, как проверкой, чтобы убедиться, что реализуемая функция overrideявляется virtualфункцией функции в базовом классе. Это оно?

11
Почему неконстантная ссылка не может привязываться к временному объекту?
Почему нельзя получить неконстантную ссылку на временный объект, который getx()возвращает функция ? Понятно, что это запрещено C ++ Standard, но меня интересует цель такого ограничения, а не ссылка на стандарт. struct X { X& ref() { return *this; } }; X getx() { return X();} void g(X & x) {} …

7
Есть ли преимущества передачи по указателю перед передачей по ссылке в C ++?
Каковы преимущества передачи по указателю перед передачей по ссылке в C ++? В последнее время я видел ряд примеров, в которых аргументы функции передаются по указателям, а не по ссылке. Есть ли преимущества для этого? Пример: func(SPRITE *x); с вызовом func(&mySprite); против func(SPRITE &x); с вызовом func(mySprite);

8
Что такое базовый указатель и указатель стека? На что они указывают?
Используя этот пример из Википедии, в которой DrawSquare () вызывает DrawLine (), (Обратите внимание, что эта диаграмма имеет высокие адреса внизу и низкие адреса вверху.) Может ли кто-нибудь объяснить мне, что ebpи espв этом контексте? Из того, что я вижу, я бы сказал, что указатель стека всегда указывает на вершину …
225 c++  c  assembly  x86 

6
Функция передана как аргумент шаблона
Я ищу правила передачи функций шаблонов C ++ в качестве аргументов. Это поддерживается C ++, как показано на примере здесь: #include <iostream> void add1(int &v) { v+=1; } void add2(int &v) { v+=2; } template <void (*T)(int &)> void doOperation() { int temp=0; T(temp); std::cout << "Result is " << …


5
В чем разница между _tmain () и main () в C ++?
Если я запускаю свое приложение C ++ с помощью следующего метода main (), все в порядке: int main(int argc, char *argv[]) { cout << "There are " << argc << " arguments:" << endl; // Loop through each argument and print its number and value for (int i=0; i<argc; i++) …
224 c++  unicode  arguments 

13
Какой лучший бесплатный профилировщик C ++ для Windows? [закрыто]
Закрыто. Этот вопрос не соответствует рекомендациям по переполнению стека . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы он соответствовал теме переполнения стека. Закрыто 4 года назад . Улучшить этот вопрос Я ищу профилировщик, чтобы найти узкое место в моем коде C ++. Я …
224 c++  windows  profile 


17
Удалить пробелы из std :: string в C ++
Каков предпочтительный способ удаления пробелов из строки в C ++? Я мог бы перебрать все символы и создать новую строку, но есть ли лучший способ?
222 c++  stl 



5
Как именно std :: string_view быстрее, чем const std :: string &?
std::string_viewсделал это в C ++ 17 и широко рекомендуется использовать его вместо const std::string&. Одна из причин - производительность. Может кто-нибудь объяснить, как именно std::string_view / будет быстрее, чем const std::string&при использовании в качестве типа параметра? (давайте предположим, что в вызываемом номере не сделано ни одной копии)
221 c++  string  c++17  string-view 

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