c++- все статьи тега ➜ страница 14
Отладка с параметрами командной строки в Visual Studio
Я разрабатываю приложение командной строки C++ в Visual Studio и должен отлаживать его с помощью аргументов командной строки. На данный момент я просто запускаю сгенерированный EXE-файл с аргументами, которые мне нужны (например,program.exe -file.txt), но таким образом я не могу отлаживать. Где я могу указать аргументы для отладки? ...
Итератор правила о признании недействительными
каковы правила недействительности итератора для контейнеров C++? желательно в формате сводного списка. (Примечание:это должно быть запись в C++ FAQ Stack Overflow. Если вы хотите критиковать идею предоставления FAQ в этой форме, то публикация на meta, которая начала все это было бы место, чтобы сделать это. Ответы на этот вопрос отслеживаются в в C++ чат, где идея FAQ началась в во-первых, поэтому ваш ответ, скорее всего, будет прочитан теми, кто придумал эту идею.) ...
Когда я должен написать ключевое слово 'inline' для функции/метода?
когда я должен написать ключевое слово inline для функции/метода в C++? после того как увидел ответы на некоторые вопросы, некоторые связанные с этим вопросы: когда я не напишите ключевое слово 'inline' для функции/метода в C++? когда компилятор не будет знать, когда сделать функцию / метод'inline'? имеет ли значение, если приложение многопоточный когда один пишет 'inline' для функции / метода? ...
Как объявить 2d-массив в C++ с помощью new?
как объявить 2d массив с помощью new? например, для" нормального " массива я бы: int* ary = new int[Size] но int** ary = new int[sizeY][sizeX] а) не работает / компилируется и б) не выполняет то, что: int ary[sizeY][sizeX] делает. ...
Как очистить переменную stringstream?
Я уже пробовал несколько вещей, std::stringstream m; m.empty(); m.clear(); оба из которых не работают. ...
Как инициализировать частные статические члены В C++?
что является лучшим способом, чтобы инициализировать собственный статический член данных в C++? Я попробовал это в моем заголовочном файле, но это дает мне странные ошибки компоновщика: class foo { private: static int i; }; int foo::i = 0; Я предполагаю, что это потому, что я не могу инициализировать собственный член из-за пределов класса. Так как же лучше всего это сделать? ...
В чем разница между "STL" и "стандартной библиотекой C++"?
кто-то принес в этой статье к моему вниманию, что утверждает (я перефразирую) термин STL неправильно используется для обозначения всей стандартной библиотеки C++ вместо частей, которые были взяты из SGI STL. (...) это относится к "STL", несмотря на то, что очень мало людей все еще используют STL (который был разработан в SGI). части стандартной библиотеки C++ были основаны на частях STL, и именно эти части многие люди (в том числе несколько авторов и заведомо ошибочных cplusplus.com) по ...
Как удалить элемент из std:: vector по индексу?
У меня есть std::vector, и я хочу удалить n-й элемент. Как мне это сделать? std::vector<int> vec; vec.push_back(6); vec.push_back(-17); vec.push_back(12); vec.erase(???); ...
C++ статическая постоянная строка (член класса)
Я хотел бы иметь частную статическую константу для класса (в данном случае shape-factory). Я бы хотел иметь нечто подобное. class A { private: static const string RECTANGLE = "rectangle"; } к сожалению, я получаю всевозможные ошибки от компилятора C++ (g++), такие как: ISO C++ запрещает инициализацию член 'прямоугольник' недопустимая инициализация в классе статического элемента данных нецелого типа 'std:: string' ошибка: создание " прямоугольника’ статика Это говор ...
Как я могу маркировать строку в C++?
Java имеет удобный метод разделения: String str = "The quick brown fox"; String[] results = str.split(" "); есть простой способ сделать это в C++? ...
С контекстно-свободной++ или контекстная?
я часто слышу утверждения, что C++ является контекстно-зависимым языком. Возьмем следующий пример: a b(c); это определение переменной или объявление функции? Это зависит от значения символа c. Если c это переменная, потом a b(c); задает переменную b типа a. Он непосредственно инициализируется с помощью c. Но если c это тип, потом a b(c); объявляет функцию с именем b что берет а c и возвращает a. если вы посмотрите определение контекстно-свободных языков, это в основном скажет вам, что все пр ...
Сравнение строк без учета регистра в C++ [закрыто]
каков наилучший способ сделать сравнение строк без учета регистра в C++ без преобразования строки во все прописные или все строчные буквы? пожалуйста, укажите, являются ли методы Unicode-friendly и насколько они портативны. ...
Как использовать константу PI в C++
Я хочу использовать константу PI и тригонометрические функции в некоторых программах на C++. Я получаю тригонометрические функции с include <math.h>. Однако в этом заголовочном файле, похоже, нет определения для PI. Как я могу получить PI, не определяя его вручную? ...
Почему Java не предлагает перегрузку оператора?
переходя с C++ на Java, очевидный вопрос без ответа-почему Java не включала перегрузку операторов? не Complex a, b, c; a = b + c; гораздо проще, чем Complex a, b, c; a = b.add(c);? есть ли известная причина для этого, допустимые аргументы для не возможность перегрузки операторов? Является ли причина произвольной или потерянной во времени? ...
Как выполнить команду и получить вывод команды в C++ с помощью POSIX?
Я ищу способ получить вывод команды, когда она запускается из программы на C++. Я посмотрел на использование функции system (), но это будет просто выполнить команду. Вот пример того, что я ищу: std::string result = system( "./some_command" ) ; Мне нужно выполнить произвольную команду и получить ее вывод. Я посмотрел на Boost.org но я не нашел ничего, что даст мне то, что мне нужно. ...
Разница ключевых слов 'typename' и 'class' в шаблонах?
для шаблонов я видел оба заявления: template < typename T > template < class T > какая разница? и что именно означают эти ключевые слова в следующем примере (взятом из статьи немецкой Википедии о шаблонах)? template < template < typename, typename > class Container, typename Type > class Example { Container< Type, std::allocator < Type > > baz; }; ...
Что такое виртуальный базовый класс В C++?
Я хочу знать, что это "виртуальный базовый класс" и что это означает. позвольте мне показать пример: class Foo { public: void DoSomething() { /* ... */ } }; class Bar : public virtual Foo { public: void DoSpecific() { /* ... */ } }; ...
Проверьте, содержит ли строка строку в C++
у меня есть переменная типа std::string. Я хочу проверить, содержит ли он определенный std::string. Как бы я это сделал? есть ли функция, которая возвращает true, если строка найдена, и false, если это не так? спасибо. ...
Когда использовать ссылки и указатели
Я понимаю синтаксис и общую семантику указателей по сравнению со ссылками, но как я должен решить, когда более или менее целесообразно использовать ссылки или указатели в API? Естественно, некоторые ситуации нуждаются в том или ином (operator++ нужен ссылочный аргумент), но в целом я нахожу, что предпочитаю использовать указатели (и указатели const), поскольку синтаксис ясен, что переменные передаются деструктивно. например, в следующем код: void add_one(int& n) { n += 1; } void add_one(i ...
Как передать уникальный аргумент ptr конструктору или функции?
Я новичок в перемещении семантики в C++11, и я не очень хорошо знаю, как обрабатывать unique_ptr параметры в конструкторах или функции. Рассмотрим этот класс, ссылающийся на себя: #include <memory> class Base { public: typedef unique_ptr<Base> UPtr; Base(){} Base(Base::UPtr n):next(std::move(n)){} virtual ~Base(){} void setNext(Base::UPtr n) { next = std::move(n); } protected : Base::UPtr next; }; это, как я должен написать функции ...