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

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

4
Разница между общими объектами (.so), статическими библиотеками (.a) и DLL (.so)?
Я принимал участие в некоторых дебатах по поводу библиотек в Linux и хотел бы подтвердить некоторые вещи. Насколько я понимаю (пожалуйста, исправьте меня, если я ошибаюсь, и я отредактирую свой пост позже), что есть два способа использования библиотек при создании приложения: Статические библиотеки (файлы .a): во время компоновки копия всей …
273 c++  c  linux  dll  linker 


1
Как «int main () {(([] () {}) ());}» является допустимым C ++?
Недавно я наткнулся на следующий эзотерический фрагмент кода. int main(){(([](){})());} Переформатируйте его следующим образом, чтобы сделать его более читабельным: int main(){ (([](){})()); // Um... what?!?! } Но я не могу понять, как (([](){})())действует код. Это не похоже на синтаксис указателя функции. Это не может быть какой-то уловкой перегрузки оператора. Код …
271 c++  c++11  lambda  syntax 



10
Должны ли мы передавать shared_ptr по ссылке или по значению?
Когда функция берет shared_ptr(из boost или C ++ 11 STL), вы передаете ее: по постоянной ссылке: void foo(const shared_ptr<T>& p) или по значению void foo(shared_ptr<T> p):? Я бы предпочел первый метод, потому что подозреваю, что он будет быстрее. Но стоит ли это того или есть дополнительные проблемы? Не могли бы …
270 c++  c++11  boost  shared-ptr 

16
Почему в C ++ нет сборщика мусора?
Я не задаю этот вопрос из-за достоинств сборки мусора в первую очередь. Моя главная причина, по которой я спрашиваю об этом, состоит в том, что я знаю, что Бьярн Страуструп сказал, что C ++ будет иметь сборщик мусора в определенный момент времени. С учетом сказанного, почему он не был добавлен? …

8
Как мне построить графический интерфейс пользователя в C ++? [закрыто]
Трудно сказать, что здесь спрашивают. Этот вопрос является двусмысленным, расплывчатым, неполным, чрезмерно широким или риторическим, и на него нельзя дать разумный ответ в его нынешней форме. Чтобы получить разъяснения по этому вопросу, чтобы его можно было снова открыть, посетите справочный центр . Закрыто 8 лет назад . До сих пор …

23
Как получить каталог, из которого запускается программа?
Существует ли платформо-независимый и файлово-независимый метод для получения полного пути к каталогу, из которого программа работает с использованием C / C ++? Не путать с текущим рабочим каталогом. (Пожалуйста, не предлагайте библиотеки, если они не стандартные, такие как clib или STL.) (Если нет метода, независимого от платформы / файловой системы, …
269 c++  c  working-directory 


11
Почему f (i = -1, i = -1) неопределенное поведение?
Я читал о порядке нарушений оценки , и они приводят пример, который озадачивает меня. 1) Если побочный эффект на скалярный объект не секвенирован относительно другого побочного эффекта на тот же скалярный объект, поведение не определено. // snip f(i = -1, i = -1); // undefined behavior В этом контексте iэто …

14
Как завершить код C ++
Я хотел бы, чтобы мой код C ++ прекратил работать, если соблюдено определенное условие, но я не уверен, как это сделать. Так что в любой момент, если ifутверждение истинно, завершите код следующим образом: if (x==1) { kill code; }
267 c++ 

4
Почему я не должен включать #include <bits / stdc ++. H>?
Я отправил вопрос со своим кодом, единственной #includeдирективой которого было следующее: #include &lt;bits/stdc++.h&gt; Мой учитель сказал мне сделать это, но в разделе комментариев мне сообщили, что я не должен. Зачем?

30
Как избежать цепочек «если»?
Предполагая, что у меня есть этот псевдокод: bool conditionA = executeStepA(); if (conditionA){ bool conditionB = executeStepB(); if (conditionB){ bool conditionC = executeStepC(); if (conditionC){ ... } } } executeThisFunctionInAnyCase(); Функции executeStepXдолжны быть выполнены тогда и только тогда, когда предыдущий будет успешным. В любом случае, executeThisFunctionInAnyCaseфункция должна быть вызвана в …

6
Объявление переменных внутри циклов, хорошая практика или плохая практика?
Вопрос № 1: является ли объявление переменной внутри цикла хорошей или плохой практикой? Я читал другие темы о том, есть ли проблемы с производительностью (большинство сказали нет), и что вы всегда должны объявлять переменные как можно ближе к месту их использования. Что мне интересно, так это то, следует ли этого …

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