Сравнение Виндзорский замок, единства и StructureMap

в дополнение к заявлению Кшиштофа, что Виндзор делает намного больше, чем другие МОК, я хотел понять, как эти МОК складываются друг против друга и преимущества/дополнительные услуги, которые предоставляет замок Виндзор. есть ли какие-либо сравнени ...

std:: string:: c str () и temporaries

хорошо сформирован следующий код на C++: void consumer(char const* p) { std::printf("%s", p); } std::string random_string_generator() { // returns a random std::string object } consumer(random_string_generator().c_str()); проблема, с которой ...

Объединения нескольких наборов в единый набор

Я хотел бы знать, есть ли какая-либо библиотека std или инструмент boost, чтобы легко объединить содержимое нескольких наборов в один. в моем случае у меня есть несколько наборов ints, которые я хотел бы объединить. ...

std:: endl имеет неизвестный тип при перегрузке оператора

Я перегруженный оператор template <Typename T> UIStream& operator<<(const T); UIStream my_stream; my_stream << 10 << " heads"; работает, но: my_stream << endl; дает ошибку компиляции: ошибка C2678: двоич ...

Расширение стандартной библиотеки C++ по наследству?

обычно считается, что стандартная библиотека C++ обычно не предназначена для расширения с использованием наследования. Конечно, я (и другие) критиковали людей, которые предлагают выводить из таких классов, как std::vector. Однако, этот вопрос: исключ ...

Инициализация векторного массива строк

можно ли инициализировать векторный массив строк. например: static std::vector<std::string> v; //объявлен как член класса Я static просто инициализировать и заполнить его строками. Или я должен просто заполнить его в конструктор, если он не ...

вектор или карта, какой из них использовать?

Я слышал, что многие люди говорят, что если количество элементов, ожидаемых в контейнере, относительно мало, лучше использовать std::vector вместо std::map хотя я использую контейнер только для поиска, а не для итерации. какова реальная причина? оч ...

Можно ли предположить, что векторное хранилище STL всегда является непрерывным?

если у вас есть вектор STL, который был изменен, безопасно ли взять адрес элемента 0 и предположить, что остальная часть вектора будет следовать в памяти? например vector<char> vc(100); // do some stuff with vc vc.resize(200); char* p = & ...

Что произойдет, если вы увеличите итератор, равный конечному итератору контейнера STL

Что делать, если я увеличиваю итератор на 2, когда он указывает на последний элемент вектора? В этом вопросе, задающем, как настроить итератор на контейнер STL по 2 элементам, предлагаются два разных подхода: либо использовать форму арифметического ...

Как я могу создать свой собственный компаратор для карты?

typedef map<string, string> myMap; при вставке новой пары myMap он будет использовать ключ string для сравнения с помощью собственного строкового компаратора. Можно ли переопределить этот компаратор? Например, я хотел бы сравнить ключ string ...

СТД::вектор::изменение размера() и СТД::вектор::резерв()

в разделе комментариев в этом посте есть тема об использовании std::vector::reserve() и std::vector::resize(). вот исходный код: void MyClass::my_method() { my_member.reserve(n_dim); for(int k = 0 ; k < n_dim ; k++ ) my_member[k ...

Действительно ли list:: size () O (n)?

недавно я заметил, что некоторые люди упоминают об этом std::list::size() имеет линейную сложность. Согласно некоторыеисточник, это на самом деле зависит от реализации, поскольку стандарт не говорит, Какой должна быть сложность. Комментарий в этой ст ...

Почему не следует выводить из класса C++ std string?

Я хотел спросить о конкретном моменте, сделанном в эффективном C++. Он говорит: деструктор должен быть виртуальным, если класс должен действовать как полиморфный класс. Он далее добавляет, что с std::string не имеет виртуального деструктора, ни ...

Могу ли я использовать const в векторах, чтобы добавить элементы, но не изменения к уже добавленным?

мои комментарии к этому ответу заставили меня задуматься о проблемах постоянства и сортировки. Я немного поиграл и свел свои проблемы к тому, что этот код: #include <vector> int main() { std::vector <const int> v; } не будет ком ...

Почему я получаю одну и ту же последовательность для каждого запуска с std::random device с mingw gcc4.8.1?

Я использую следующий код, чтобы проверить c++ <random> библиотека. почему я получаю точно такую же последовательность для каждого запуска скомпилированного исполняемого файла? Это rd() детерминированным при компиляции? Как получить разные вых ...

вектор::ПО и вектор::оператор[]

Я знаю, что at() медленнее, чем [] из-за его проверки границ, которая также обсуждается в подобных вопросах, таких как вектор C++ на скорости оператора/ [] или :: std:: vector:: at() vs operator [] . Я просто не понимаю, что такое at() метод хорош дл ...

Скопировать карту значений вектора в STL

работая мой путь через эффективный STL на данный момент. Пункт 5 предполагает, что обычно предпочтительно использовать функции-члены диапазона для их одноэлементных аналогов. В настоящее время я хочу скопировать все значения на карте (т. е. - мне не ...

Почему поведение списка инициализаторов C++ для std::vector и std::array отличается?

код: std::vector<int> x{1,2,3,4}; std::array<int, 4> y{{1,2,3,4}}; зачем мне нужны двойные фигурные скобки для std:: array? ...

Как выполнить итерацию по карте STL, полной строк в C++

у меня есть следующая проблема, связанная с итерацией по ассоциативному массиву строк, определенных с помощью std::map. -- snip -- class something { //... private: std::map<std::string, std::string> table; //... } в конструкторе я ...

Как избежать утечки памяти при использовании вектора указателей на динамически выделенные объекты в C++?

Я использую вектор указателей на объекты. Эти объекты являются производными от базового класса и динамически выделяются и сохраняются. например, у меня есть что-то вроде: vector<Enemy*> Enemies; и я буду выводить из класса Enemy, а затем ди ...