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

C++ - это язык программирования общего назначения. Он был первоначально разработан как расширение для C и сохраняет похожий синтаксис, но теперь он совершенно другой язык. Используйте этот тег для вопросов о коде, который должен быть скомпилирован с помощью компилятора C++. Используйте тег версии для вопросов, связанных с конкретной стандартной версией [C++ 11], [C++ 17] и т.д.
18

Почему программисты С++ минимизируют использование "новых"?

Я наткнулся на вопрос "Переполнение стека". Утечка памяти с помощью std :: string при использовании std :: list <std :: string>, и один из комментариев говорит об этом: Прекратите использовать new так много. Я не вижу причины, по которой вы ...
28 июн. '11 в 0:08
5

В чем разница между "typedef" и "use" в С++ 11?

Я знаю, что в С++ 11 мы теперь можем использовать using для записи псевдонима типа, например typedef s: typedef int MyInt; Я понимаю, что, как я понимаю, эквивалентно: using MyInt = int; И этот новый синтаксис возник из стремления выразить "te...
25 мая '12 в 2:39
1

Каковы новые возможности в С++ 17?

С++ 17 теперь полностью завершена, поэтому вряд ли произойдут большие изменения. Сотни предложений были выдвинуты для С++ 17. Какая из этих функций была добавлена ​​в С++ в С++ 17? При использовании компилятора С++, который поддерживает "С++ 1z", к...
27 июн. '16 в 18:06
15

Можно ли вызвать конструктор из другого конструктора (сделать цепочку конструктора) в С++?

Как разработчик С# я использую для запуска конструкторов: class Test { public Test() { DoSomething(); } public Test(int count) : this() { DoSomethingWithCount(count); } public Test(int count, string name) : th...
21 нояб. '08 в 9:43
15

Как вы объявляете интерфейс на С++?

Как настроить класс, представляющий интерфейс? Это просто абстрактный базовый класс?
25 нояб. '08 в 16:48
8

Разница между 'struct' и 'typedef struct' в С++?

В С++ существует ли разница между: struct Foo { ... }; и typedef struct { ... } Foo;
04 мар. '09 в 20:41
26

Как преобразовать std::string в нижний регистр?

Я хочу преобразовать std::string в нижний регистр. Я знаю о функции tolower(), однако в прошлом у меня были проблемы с этой функцией, и это вряд ли идеально, так как использование с std::string потребует итерации по каждому символу. Есть ли альтерн...
24 нояб. '08 в 11:49
40

Какой лучший способ обрезать std::string?

В настоящее время я использую следующий код для выравнивания всех std::strings в моих программах: std::string s; s.erase(s.find_last_not_of(" \n\r\t")+1); Он отлично работает, но мне интересно, есть ли какие-то конечные случаи, где это может зако...
19 окт. '08 в 19:23
11

Почему этот код на С++ быстрее, чем моя рукописная сборка для тестирования гипотезы Collatz?

Я написал эти два решения для Project Euler Q14 в сборке и на С++. Они представляют собой одинаковый подход грубой силы для тестирования гипотезы Collatz. Сборочный раствор был собран с помощью nasm -felf64 p14.asm && gcc p14.o -o p14 C++ ...
01 нояб. '16 в 6:12
11

Зачем использовать явно бессмысленные инструкции do-while и if-else в макросах?

Во многих макросах C/С++ я вижу код макроса, завернутый в то, что кажется бессмысленным циклом do while. Вот примеры. #define FOO(X) do { f(X); g(X); } while (0) #define FOO(X) if (1) { f(X); g(X); } else Я не вижу, что делает do while. Почему б...
30 сент. '08 в 17:36
9

Что такое "кеширующий" код?

В чем разница между недружественным кодом кеша и кодом с кэшем дружественных? Как я могу убедиться, что я пишу код, эффективный для кэширования?
22 мая '13 в 18:37
3

Почему моя программа работает медленнее, если вы перебираете ровно 8192 элементов?

Вот выдержка из рассматриваемой программы. Матрица img[][] имеет размер SIZE × SIZE и инициализируется по адресу: img[j][i] = 2 * j + i Затем вы создаете матрицу res[][], и каждое поле здесь составляет среднее из 9 полей вокруг него в матрице im...
04 сент. '12 в 13:51
17

Что такое нарезка объектов?

Кто-то упомянул это в IRC как проблему нарезки.
08 нояб. '08 в 11:10
15

С++ Функторы - и их использование

Я продолжаю много слушать о функторах на С++. Может ли кто-нибудь дать мне обзор относительно того, что они есть и в каких случаях они будут полезны?
10 дек. '08 в 17:47
12

std:: wstring VS std::string

Я не могу понять различия между std::string и std::wstring. Я знаю, что wstring поддерживает широкие символы, такие как символы Unicode. У меня есть следующие вопросы: Когда следует использовать std::wstring над std::string? Может ли std::strin...
31 дек. '09 в 4:08