При каких обстоятельствах вы хотели бы использовать такой код в C ++? void foo(type *&in) {...} void fii() { type *choochoo; ... foo(choochoo); }
При каких обстоятельствах вы хотели бы использовать такой код в C ++? void foo(type *&in) {...} void fii() { type *choochoo; ... foo(choochoo); }
У меня есть вектор IInventory *, и я просматриваю список, используя диапазон C ++ 11 для работы с каждым из них. Проделав кое-что с одним, я могу удалить его из списка и удалить объект. Я знаю, что могу вызвать deleteуказатель в любое время, чтобы очистить его, но как правильно удалить его из...
Недавно в интервью был задан следующий вопрос объективного типа. int a = 0; cout << a++ << a; Ответы: а. 10 б. 01 с. неопределенное поведение Я ответил на вариант b, т.е. вывод будет «01». Но, к моему удивлению, позже интервьюер сказал мне, что правильный ответ - вариант c: undefined....
Я знаю только один способ: #include <sstream> #include <string.h> using namespace std; int main() { int number=33; stringstream strs; strs << number; string temp_str = strs.str(); char* char_type = (char*) temp_str.c_str(); } Но есть ли способ с меньшим набором текста?...
Я переключился с C ++ на Java и C # и думаю, что использование пространств имен / пакетов там намного лучше (хорошо структурировано). Затем я вернулся к C ++ и попытался использовать пространства имен таким же образом, но требуемый синтаксис в заголовочном файле ужасен. namespace MyCompany {...
Я начал пробовать стандарт C ++ 11 и нашел этот вопрос, который описывает, как вызвать ваш ctor из другого ctor в том же классе, чтобы избежать использования метода инициализации и т.п. Теперь я пробую то же самое с кодом, который выглядит следующим образом: hpp: class Tokenizer { public:...
Я изучаю C ++ и обнаружил то, чего не могу понять: Буферы вывода могут быть явно очищены для принудительной записи буфера. По умолчанию чтение cinсбрасывается cout; coutтакже сбрасывается при нормальном завершении программы. Итак, очистка буфера (например, буфера вывода): очищает ли это буфер,...
Я где-то видел код, в котором кто-то решил скопировать объект и впоследствии переместить его в член данных класса. Это привело меня в замешательство, поскольку я думал, что весь смысл перемещения заключается в том, чтобы избежать копирования. Вот пример: struct S { S(std::string str) :...
В C ++ 11 есть вариативные шаблоны, подобные этому: template< class T, class... Args > unique_ptr<T> make_unique( Args&&... args ) { return unique_ptr<T>(new T(std::forward<Args>(args)...)); } В этом есть некоторые любопытства: выражение...
Для массива с несколькими измерениями нам обычно нужно написать forцикл для каждого из его измерений. Например: vector< vector< vector<int> > > A; for (int k=0; k<A.size(); k++) { for (int i=0; i<A[k].size(); i++) { for (int j=0; j<A[k][i].size(); j++) {...
Возвращаясь к C ++ после многих лет работы с C #, мне было интересно, каким будет современный - читайте: C ++ 11 - способ фильтрации массива, то есть как мы можем достичь чего-то похожего на этот запрос Linq: var filteredElements = elements.Where(elm => elm.filterProperty == true); Чтобы...
Я пытаюсь использовать новые функции C ++ 1z, фактически, в рамках разработки в рамках gcc 6.0. Если я попробую этот небольшой пример: #include <iostream> #include <experimental/filesystem> namespace fs = std::experimental::filesystem; int main() { fs::path p1 = "/home/pete/checkit";...
Согласно cppreference.com size_t определяется в нескольких заголовках, а именно <cstddef> <cstdio> <cstring> <ctime> И, начиная с C ++ 11, также в <cstdlib> <cwchar> Прежде всего мне интересно, почему это так. Разве это не противоречит принципу DRY ? Однако у...
Случай 1: #include <iostream> int main() { double d = 15.50; std::cout<<(d/0.0)<<std::endl; } Компилируется без предупреждений и выводов inf. Хорошо, C ++ может обрабатывать деление на ноль ( посмотреть вживую ). Но, Случай 2: #include <iostream> int main() { double d =...
Я портирую игру, которая изначально была написана для Win32 API, в Linux (ну, портирую OS X порта Win32 в Linux). Я реализовал QueryPerformanceCounter, указав uSeconds с момента запуска процесса: BOOL QueryPerformanceCounter(LARGE_INTEGER* performanceCount) { gettimeofday(¤tTimeVal,...
Я прочитал ответы на вопрос , как лучше всего проверить, существует ли файл на C? (кросс-платформенный) , но мне интересно, есть ли лучший способ сделать это, используя стандартные библиотеки C ++? Желательно вообще без попытки открыть файл. Оба statи accessв значительной степени не могут быть...
В настоящее время я работаю над некоторым кодом регистрации, который должен, среди прочего, печатать информацию о вызывающей функции. Это должно быть относительно просто, стандартный C ++ имеет type_infoкласс. Он содержит имя typeid'd класса / функции / и т. Д. но это искалечено. Это не очень...
Я получаю ошибки при попытке скомпилировать класс шаблона C ++, который разделен между a .hppи .cppfile: $ g++ -c -o main.o main.cpp $ g++ -c -o stack.o stack.cpp $ g++ -o main main.o stack.o main.o: In function `main': main.cpp:(.text+0xe): undefined reference to 'stack<int>::stack()'...
Недавно я решил, что мне нужно перейти от использования миллисекунд к микросекундам для моего класса Timer, и после некоторых исследований я решил, что QueryPerformanceCounter, вероятно, моя самая безопасная ставка. (Предупреждение о Boost::Posixтом, что он может не работать в Win32 API, меня...
У меня есть программа, которая где-то выдает неперехваченное исключение. Все, что я получаю, это отчет о возникшем исключении и никакой информации о том, где оно было создано. Кажется нелогичным, если программа, скомпилированная с использованием символов отладки, не уведомляет меня о том, где в...