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

224
В чем разница между _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++) cout...

222
Удалить пробелы из std :: string в C ++

Каков предпочтительный способ удаления пробелов из строки в C ++? Я мог бы перебрать все символы и создать новую строку, но есть ли лучший

222
Visual Studio 2010 - проект C ++ - удалить файл * .sdf

Я хотел бы знать, могу ли я безопасно удалить файл sdf, в котором хранится информация для Visual Studios Intellisense, - будет ли он перестроен при следующем открытии решения? Потеряю ли я что-нибудь при этом? Можно ли сломать решение таким образом? Мотивация для этого заключается в том, что при...

221
C ++ «виртуальное» ключевое слово для функций в производных классах. Это необходимо?

С определением структуры, приведенным ниже ... struct A { virtual void hello() = 0; }; Подход № 1: struct B : public A { virtual void hello() { ... } }; Подход № 2: struct B : public A { void hello() { ... } }; Есть ли разница между этими двумя способами переопределения функции...

221
Как именно std :: string_view быстрее, чем const std :: string &?

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

220
умные указатели (повышение) объяснил

В чем разница между следующим набором указателей? Когда вы используете каждый указатель в рабочем коде, если вообще? Примеры будут оценены! scoped_ptr shared_ptr weak_ptr intrusive_ptr Вы используете повышение в производственном...

220
Почему переопределенная функция в производном классе скрывает другие перегрузки базового класса?

Рассмотрим код: #include <stdio.h> class Base { public: virtual void gogo(int a){ printf(" Base :: gogo (int) \n"); }; virtual void gogo(int* a){ printf(" Base :: gogo (int*) \n"); }; }; class Derived : public Base{ public: virtual void gogo(int* a){ printf(" Derived :: gogo (int*) \n"); };...

220
Как добавить компоновщик или флаг компиляции в файл CMake?

Я использую arm-linux-androideabi-g++ компилятор. Когда я пытаюсь скомпилировать простое «Привет, мир!» Программа компилируется нормально. Когда я тестирую его, добавляя простую обработку исключений в этот код, он тоже работает (после добавления -fexceptions... Я думаю, по умолчанию он отключен)....

218
Сколько это слишком много с ключевым словом auto C ++ 11?

Я использовал новое autoключевое слово, доступное в стандарте C ++ 11 для сложных шаблонных типов, для которого, как мне кажется, оно было разработано. Но я также использую его для таких вещей, как: auto foo = std::make_shared<Foo>(); И более скептически для: auto foo = bla(); // where bla()...

218
Почему транспонирование матрицы 512x512 намного медленнее, чем транспонирование матрицы 513x513?

После проведения некоторых экспериментов с квадратными матрицами разных размеров возникла закономерность. Неизменно транспонирование матрицы размера 2^nпроисходит медленнее, чем транспонирование матрицы размера2^n+1 . Для небольших значений nразница не является существенной. Однако большие различия...

218
Как использовать перечисления в C ++

Предположим, у нас есть что-то enumвроде следующего: enum Days {Saturday, Sunday, Tuesday, Wednesday, Thursday, Friday}; Я хочу создать экземпляр этого enumи инициализировать его с надлежащим значением, поэтому я делаю: Days day = Days.Saturday; Теперь я хочу проверить мою переменную или экземпляр...

217
C ++ Loop through Map

Я хочу перебрать каждый элемент, map<string, int>не зная ни одного из его значений или ключей string-int. Что у меня так далеко: void output(map<string, int> table) { map<string, int>::iterator it; for (it = table.begin(); it != table.end(); it++) { //How do I access each element?...

217
Почему этот оператор if, объединяющий присваивание и проверку на равенство, возвращает true?

Я думал о некоторых ошибках новичка, и я закончил тем, что на ifутверждении. Я немного расширил код до этого: int i = 0; if (i = 1 && i == 0) { std::cout << i; } Я видел , что ifоператор возвращает верно, и это cout«S , iкак 1. Если в операторе if iназначено 1значение, почему i ==...

216
В Visual Studio C ++, каковы представления распределения памяти?

В Visual Studio у всех нас было «baadf00d», мы видели «CC» и «CD» при проверке переменных в отладчике в C ++ во время выполнения. Из того, что я понимаю, "CC" находится в режиме отладки только для указания, когда память была новой () или alloc () и унитилизована. В то время как «CD» обозначает...