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

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

2
Как работает `void_t`
Я смотрел выступление Уолтера Брауна на Cppcon14 о современном программировании шаблонов ( часть I , часть II ), где он представил свою void_tтехнику SFINAE. Пример: дан простой шаблон переменной, который оценивает, правильно voidли сформированы все аргументы шаблона: template< class ... > using void_t = void; и следующая черта, которая проверяет …
149 c++  templates  c++14  sfinae 

2
C ++ семантика `статическое const` против` const`
В частности, в C ++, каковы семантические различия, например: static const int x = 0 ; и const int x = 0 ; для обоих в staticкачестве связи и классом хранения спецификатора (т.е. внутри и снаружи функции).
149 c++ 

14
Почему массивы ссылок незаконны?
Следующий код не компилируется. int a = 1, b = 2, c = 3; int& arr[] = {a,b,c,8}; Что стандарт C ++ говорит об этом? Я знаю, что мог бы объявить класс, который содержит ссылку, а затем создать массив этого класса, как показано ниже. Но я действительно хочу знать, почему …
149 c++  arrays  reference 

8
Преобразовать программу Python в код C / C ++? [закрыто]
Закрыто . Этот вопрос должен быть более сфокусированным . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы он был сосредоточен только на одной проблеме, отредактировав этот пост . Закрыто 3 года назад . Улучшить этот вопрос Можно ли конвертировать Python-программу в C / C …
149 c++  python  c  code-generation 

5
Почему улучшенный оптимизатор GCC 6 нарушает практический код C ++?
В GCC 6 появилась новая функция оптимизатора : она предполагает, что thisона всегда не равна нулю, и оптимизирует на основе этого. Распространение диапазона значений теперь предполагает, что указатель this функций-членов C ++ не равен NULL. Это исключает обычные проверки нулевого указателя, но также нарушает некоторые несоответствующие кодовые базы (такие как …

6
Зачем мне std :: переместить std :: shared_ptr?
Я просматривал исходный код Clang и нашел этот фрагмент: void CompilerInstance::setInvocation( std::shared_ptr<CompilerInvocation> Value) { Invocation = std::move(Value); } Зачем мне std::moveэто std::shared_ptr? Есть ли смысл передавать право собственности на общий ресурс? Почему бы мне просто не сделать это вместо этого? void CompilerInstance::setInvocation( std::shared_ptr<CompilerInvocation> Value) { Invocation = Value; }

9
Извлечение текста OpenCV
Я пытаюсь найти ограничивающие рамки текста на изображении и в настоящее время использую этот подход: // calculate the local variances of the grayscale image Mat t_mean, t_mean_2; Mat grayF; outImg_gray.convertTo(grayF, CV_32F); int winSize = 35; blur(grayF, t_mean, cv::Size(winSize,winSize)); blur(grayF.mul(grayF), t_mean_2, cv::Size(winSize,winSize)); Mat varMat = t_mean_2 - t_mean.mul(t_mean); varMat.convertTo(varMat, CV_8U); // …

3
Инициализация статического члена в шаблоне класса
Я хотел бы сделать это: template <typename T> struct S { ... static double something_relevant = 1.5; }; но я не могу, потому что something_relevantэто не цельный тип. Это не зависит от T, но существующий код зависит от того, является ли он статическим членом S. Поскольку S является шаблоном, я …
148 c++  templates  static 

3
Как проверить, содержит ли std :: map ключ без вставки?
Единственный способ, который я нашел для проверки на наличие дубликатов, - это вставка и проверка std::pair.secondfor false, но проблема в том, что он по-прежнему вставляет что-то, если ключ не используется, тогда как мне нужна map.contains(key);функция.
148 c++  stl  map 

4
TensorFlow, почему Python был выбран языком?
Недавно я начал изучать глубокое обучение и другие методы машинного обучения, и я начал искать фреймворки, которые упрощают процесс построения сети и ее обучения, затем я нашел TensorFlow, имея небольшой опыт в этой области, для меня скорость - это большой фактор для того, чтобы сделать большую систему машинного обучения еще …

11
Почему чисто виртуальная функция инициализируется 0?
Мы всегда объявляем чисто виртуальную функцию как: virtual void fun () = 0 ; Т.е. оно всегда присваивается 0. Что я понимаю, так это то, что это инициализирует запись vtable для этой функции в NULL, и любое другое значение здесь приводит к ошибке времени компиляции. Это понимание правильно или нет?

5
Что такое правильное объявление основного?
Какова правильная подпись mainфункции в C ++? Каков правильный тип возвращаемого значения и что означает возвращать значение main? Каковы допустимые типы параметров и каковы их значения? Это зависит от системы? Изменились ли эти правила с течением времени? Что произойдет, если я нарушу их?
147 c++  main  c++-faq 

1
Почему вводится имя класса?
Недавно я увидел странную особенность C ++: введенное имя класса . class X { }; X x1; class X::X x2; // class X::X is equal to X class X::X::X x3; // ...and so on... Но я не могу понять, почему эта функция необходима. Есть ли практика, которая требует этой функции? …
147 c++ 

7
C ++ помечен как устаревший
У меня есть метод в интерфейсе, который я хочу осудить с помощью портативного C ++. Когда я погуглил для этого, все, что я получил, было определенным решением Microsoft; #pragma устарела и __declspec (устарела) . Вторым призовым решением было бы определение MSVC и GCC. Спасибо
147 c++ 

11
Нахождение типа объекта в C ++
У меня есть класс A и другой класс, который наследуется от него, B. Я переопределяю функцию, которая принимает объект типа A в качестве параметра, поэтому я должен принять A. Однако позже я вызываю функции, которые имеет только B, поэтому я хочу вернуть false и не продолжать, если переданный объект не …
147 c++  types 

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