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

C ++ - это язык программирования общего назначения. Первоначально он был разработан как расширение C и имеет аналогичный синтаксис, но теперь это совершенно другой язык. Используйте этот тег для вопросов о коде (который будет скомпилирован с помощью компилятора C ++). Используйте тег, зависящий от версии, для вопросов, связанных с конкретной редакцией стандарта [C ++ 11], [C ++ 14], [C ++ 17] или [C ++ 20] и т. Д.


2
Может ли современный C ++ получить производительность бесплатно?
Иногда утверждают, что C ++ 11/14 может повысить производительность даже при простой компиляции кода C ++ 98. Обоснование обычно происходит в соответствии с семантикой перемещения, поскольку в некоторых случаях конструкторы rvalue генерируются автоматически или теперь являются частью STL. Теперь мне интересно, были ли эти случаи ранее уже обрабатывались RVO или …

15
Трассировка стека отображения C ++ при исключении
Я хочу иметь способ сообщить трассировку стека пользователю, если выбрасывается исключение. Каков наилучший способ сделать это? Требуется ли огромное количество дополнительного кода? Чтобы ответить на вопросы: Я хотел бы, чтобы это было портативно, если возможно. Я хочу, чтобы информация всплывала, чтобы пользователь мог скопировать трассировку стека и отправить ее мне …

12
Что такое фрагментация памяти?
Я слышал, как термин «фрагментация памяти» несколько раз использовался в контексте динамического выделения памяти в C ++. Я нашел несколько вопросов о том, как бороться с фрагментацией памяти, но не могу найти прямой вопрос, который касается самой этой проблемы. Так: Что такое фрагментация памяти? Как я могу определить, является ли …


16
Как конвертировать wstring в строку?
Вопрос в том, как преобразовать строку в строку? У меня есть следующий пример: #include <string> #include <iostream> int main() { std::wstring ws = L"Hello"; std::string s( ws.begin(), ws.end() ); //std::cout <<"std::string = "<<s<<std::endl; std::wcout<<"std::wstring = "<<ws<<std::endl; std::cout <<"std::string = "<<s<<std::endl; } вывод с закомментированной строкой: std::string = Hello std::wstring = …
204 c++  unicode  stl  wstring 

13
Каковы различия между Обобщением в C # и Java… и Шаблонами в C ++? [закрыто]
Закрыто . Этот вопрос должен быть более сфокусированным . В настоящее время он не принимает ответы. Закрыто 6 лет назад . Locked . Этот вопрос и его ответы заблокированы, потому что вопрос не по теме, но имеет историческое значение. В настоящее время он не принимает новые ответы или взаимодействия. Я …
203 c#  java  c++  generics  templates 

18
Использование «супер» в C ++
Мой стиль кодирования включает в себя следующую идиому: class Derived : public Base { public : typedef Base super; // note that it could be hidden in // protected/private section, instead // Etc. } ; Это позволяет мне использовать «super» в качестве псевдонима для Base, например, в конструкторах: Derived(int i, …
203 c++  coding-style 

6
std :: unique_ptr с неполным типом не будет компилироваться
Я использую pimpl-идиому с std::unique_ptr: class window { window(const rectangle& rect); private: class window_impl; // defined elsewhere std::unique_ptr<window_impl> impl_; // won't compile }; Тем не менее, я получаю ошибку компиляции относительно использования неполного типа, в строке 304 в <memory>: Неверное применение ' sizeof' к неполному типу ' uixx::window::window_impl' Насколько я …

10
Когда процесс получает сигнал SIGABRT (сигнал 6)?
В каких сценариях процесс получает SIGABRT на C ++? Всегда ли этот сигнал поступает из процесса или этот сигнал может передаваться от одного процесса к другому? Есть ли способ определить, какой процесс посылает этот сигнал?
202 c++  sigabrt 





12
В картах STL лучше использовать map :: insert, чем []?
Некоторое время назад у меня была дискуссия с коллегой о том, как вставить значения в карты STL . Я предпочел, map[key] = value; потому что это естественно и понятно для чтения, тогда как он предпочитал map.insert(std::make_pair(key, value)) Я просто спросил его, и никто из нас не может вспомнить причину, по …
201 c++  stl  map  stdmap 

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.