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

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

8
Как исправить ошибку «Windows SDK версии 8.1» не найден?
Я недавно обновил Visual Studio 2015, и теперь, когда я пытаюсь создать любой проект, он всегда терпит неудачу, и я получаю сообщение об ошибке Код серьезности Описание Ошибка состояния подавления строки файла проекта MSB8036 Не найден Windows SDK версии 8.1. Установите требуемую версию Windows SDK или измените версию SDK на …

8
Как прочитать значение из реестра Windows
Учитывая ключ для некоторого значения реестра (например, HKEY_LOCAL_MACHINE \ blah \ blah \ blah \ foo), как я могу: Безопасно определите, что такой ключ существует. Программно (т.е. с помощью кода) получить его значение. У меня нет абсолютно никакого намерения записывать что-либо обратно в реестр (на протяжении моей карьеры, если я …
89 c++  windows  winapi  registry 

7
Указатель функции на функцию-член
Я хотел бы настроить указатель на функцию как член класса, который является указателем на другую функцию в том же классе. Причины, по которым я это делаю, сложны. В этом примере я хотел бы, чтобы результат был «1» class A { public: int f(); int (*x)(); } int A::f() { return …


2
Что такое COM (компонентная объектная модель) в двух словах? [закрыто]
Закрыто . Этот вопрос должен быть более конкретным . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы он фокусировался только на одной проблеме, отредактировав этот пост . Закрыт 7 лет назад . Уточните этот вопрос Кажется, что COM-объекты - это объекты общего назначения, которыми …
89 c++  com 


10
CMake не может определить язык компоновщика с C ++
Я пытаюсь запустить программу cmake hello world в Windows 7 x64 как с Visual Studio 2010, так и с Cygwin, но, похоже, ни одна из них не работает. Моя структура каталогов выглядит следующим образом: HelloWorld -- CMakeLists.txt -- src/ -- -- CMakeLists.txt -- -- main.cpp -- build/ Я делаю cd …
89 c++  c  cmake 


5
Что бы 'std :;' делать в c ++?
Недавно я модифицировал код и обнаружил уже существующую ошибку в одной строке функции: std:;string x = y; Этот код все еще компилируется и работает должным образом. Определение строки работает, потому что этот файл есть using namespace std;, поэтому std::в первую очередь не было необходимости. Вопрос в том, зачем он std:;компилируется …
89 c++  std  colon 

2
Зачем сравнивать символ «А» с 0x41?
Я просматривал код C ++ и нашел следующую конструкцию: if('A' == 0x41) { // ... } else if('A' == 0xc1) { // ... } else { // ... } Я получаю предупреждение Visual Studio : Предупреждение C4127 Условное выражение является постоянным. Visual Studio явно права - безусловно, A определяется как …
89 c++  string 

4
Почему нет присваивания / конструктора перемещения по умолчанию?
Я простой программист. Переменные-члены моего класса чаще всего состоят из POD-типов и STL-контейнеров. Из-за этого мне редко приходится писать операторы присваивания или конструкторы копирования, поскольку они реализованы по умолчанию. Добавьте к этому, если я использую std::moveдля объектов, которые нельзя перемещать, он использует оператор присваивания, что означает std::moveсовершенно безопасно. Поскольку я …

3
Является ли это известной ловушкой C ++ 11 для циклов?
Представим, что у нас есть структура для хранения 3 двойников с некоторыми функциями-членами: struct Vector { double x, y, z; // ... Vector &negate() { x = -x; y = -y; z = -z; return *this; } Vector &normalize() { double s = 1./sqrt(x*x+y*y+z*z); x *= s; y *= s; …


13
Как работает эта программа?
#include <stdio.h> int main() { float a = 1234.5f; printf("%d\n", a); return 0; } Он отображает 0!! Как такое возможно? В чем причина? Я намеренно поставил %dв printfутверждение, чтобы изучить поведение printf.
88 c++  c  memory  printf  endianness 

4
Какой ближайший к 1.0 двойник, а не 1.0?
Есть ли способ программно получить двойное значение, наиболее близкое к 1.0, но не на самом деле 1.0? Один из хакерских способов сделать это - преобразовать двойное число в целое число того же размера, а затем вычесть единицу. Как работают форматы с плавающей запятой IEEE754, это привело бы к уменьшению экспоненты …

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