c++ — вопросы с ответами

11 ответов
Я написал эти два решения для Project Euler Q14 в сборке и на С++. Они представляют собой одинаковый подход грубой силы для тестирования гипотезы Collatz. Сборочный раствор был собран с помощью nasm -felf64 p14.asm && gcc p14.o -o p14 C++ был скомпилирован с g++ p14.cpp -o p14 Сборка, p14....
optimization
performance
assembly
x86
01 нояб. 2016, в 04:49
1 ответ
С++ 17 теперь полностью завершена, поэтому вряд ли произойдут большие изменения. Сотни предложений были выдвинуты для С++ 17. Какая из этих функций была добавлена ​​в С++ в С++ 17? При использовании компилятора С++, который поддерживает "С++ 1z", какая из этих функций будет доступна, когда компилято...
c++17
standards
c++-faq
c++1z
27 июнь 2016, в 17:31
9 ответов
В чем разница между недружественным кодом кеша и кодом с кэшем дружественных? Как я могу убедиться, что я пишу код, эффективный для кэширования?
performance
caching
memory
cpu-cache
22 май 2013, в 19:51
3 ответа
Вот выдержка из рассматриваемой программы. Матрица img[][] имеет размер SIZE × SIZE и инициализируется по адресу: img[j][i] = 2 * j + i Затем вы создаете матрицу res[][], и каждое поле здесь составляет среднее из 9 полей вокруг него в матрице img. Для простоты граница оставлена ​​на 0. for(i=1;i<...
performance
gcc
memory-management
04 сен. 2012, в 12:59
18 ответов
Я наткнулся на вопрос "Переполнение стека". Утечка памяти с помощью std :: string при использовании std :: list <std :: string>, и один из комментариев говорит об этом: Прекратите использовать new так много. Я не вижу причины, по которой вы использовали новое, где бы вы ни были. Вы можете с...
memory-management
heap
new-operator
c++-faq
27 июнь 2011, в 23:08
8 ответов
В С++ существует ли разница между: struct Foo { ... }; и typedef struct { ... } Foo;
struct
typedef
04 март 2009, в 20:53
12 ответов
Я не могу понять различия между std::string и std::wstring. Я знаю, что wstring поддерживает широкие символы, такие как символы Unicode. У меня есть следующие вопросы: Когда следует использовать std::wstring над std::string? Может ли std::string удерживать весь набор символов ASCII, включая специа...
string
unicode
wstring
c++-faq
31 дек. 2008, в 03:04
15 ответов
Я продолжаю много слушать о функторах на С++. Может ли кто-нибудь дать мне обзор относительно того, что они есть и в каких случаях они будут полезны?
functor
function-object
function-call-operator
10 дек. 2008, в 18:33
8 ответов
Как преобразовать std::string в char* или const char*?
string
const
char
07 дек. 2008, в 20:05
15 ответов
Как настроить класс, представляющий интерфейс? Это просто абстрактный базовый класс?
inheritance
interface
abstract-class
pure-virtual
25 нояб. 2008, в 16:58
24 ответа
Я хочу преобразовать std::string в нижний регистр. Я знаю о функции tolower(), однако в прошлом у меня были проблемы с этой функцией, и это вряд ли идеально, так как использование с std::string потребует итерации по каждому символу. Есть ли альтернатива, которая работает в 100% случаев?...
string
c++-standard-library
tolower
24 нояб. 2008, в 09:57
15 ответов
Как разработчик С# я использую для запуска конструкторов: class Test { public Test() { DoSomething(); } public Test(int count) : this() { DoSomethingWithCount(count); } public Test(int count, string name) : this(count) { DoSomethingWithName(name); } ...
constructor
21 нояб. 2008, в 08:02
40 ответов
В настоящее время я использую следующий код для выравнивания всех std::strings в моих программах: std::string s; s.erase(s.find_last_not_of(" \n\r\t")+1); Он отлично работает, но мне интересно, есть ли какие-то конечные случаи, где это может закончиться? Разумеется, приветствуются ответы с элегантн...
trim
stdstring
19 окт. 2008, в 20:00
11 ответов
Во многих макросах 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. Почему бы просто не написать это без него? #define FOO(X) f(X)...
c-preprocessor
c++-faq
30 сен. 2008, в 17:21
23 ответа
Я всегда задавался этим вопросом - почему вы не можете объявлять переменные после метки case в инструкции switch? В С++ вы можете объявить переменные почти везде (и объявить их близкими к первому использованию, очевидно, хорошо), но следующее все равно не будет работать: switch (val) { case VAL:...
switch-statement
18 сен. 2008, в 12:49
Наверх
Меню