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

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

Почему переменные не могут быть объявлены в инструкции switch?

Я всегда задавался этим вопросом - почему вы не можете объявлять переменные после метки case в инструкции switch? В С++ вы можете объявить переменные почти везде (и объявить их близкими к первому использованию, очевидно, хорошо), но следующее все рав...
задан 18 сент. '08 в 16:11
8
ответов

Как преобразовать std::string в const char * или char *?

Как преобразовать std::string в char* или const char*?
задан 07 дек. '08 в 22:30
15
ответов

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

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

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

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

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

Я наткнулся на вопрос о переполнении стека утечка памяти с помощью std::string при использовании std:: list < std::string > и один из комментариев говорит следующее: Остановите использование new так много. Я не вижу причин, по которым вы и...
задан 28 июня '11 в 3:08
3
ответов

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

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

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

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

Когда вы должны использовать класс vs struct в С++?

В каких сценариях лучше использовать struct vs a class в С++?
задан 10 сент. '08 в 19:29
10
ответов

Зачем использовать явно бессмысленные инструкции 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 в 20:36
8
ответов

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

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

std:: wstring VS std::string

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

Что означает стандарт С++ для размера int, длинного типа?

Я ищу подробную информацию о размере базовых типов С++. Я знаю, что это зависит от архитектуры (16 бит, 32 бит, 64 бит) и компилятора. Но существуют ли какие-либо стандарты для С++? Я использую Visual Studio 2008 в 32-битной архитектуре. Вот что я ...
задан 26 февр. '09 в 10:59
9
ответов

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

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

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

Кто-то упомянул об этом в IRC, но у google нет хорошего ответа.
задан 08 нояб. '08 в 14:10
36
ответов

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

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