Форум программистов, компьютерный форум CyberForum.ru

Не объясните в чём разница между случаями - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Работа со строками и символами, лаба http://www.cyberforum.ru/cpp-beginners/thread893482.html
Проверить правильность написания знаков пунктуации. Слева от знака пунктуации пробел не ставится, справа ставится один пробел. Исправленный текст напечатать. я только считал из файла:cry: #include <stdio.h> #include <conio.h> #include <string.h> void main(void) { FILE *f1; char s1; f1 = fopen("input.dat", "r"); do
C++ Определить, верно ли, что для каждой точки А принадлежащей М существует точка B принадлежащая M 1.Задано множество M точек на плоскости. Определить, верно ли, что для каждой точки А принадлежащей М существует точка B принадлежащая M (A≠B) такая, что не существует двух точек множества M, лежащих по разные стороны от прямой АВ. Помогите пожалуйста с решением, завтра экзамен)* http://www.cyberforum.ru/cpp-beginners/thread893479.html
C++ Тестирование по двусвязным спискам
Я два вопроса додумать не могу... может кто придумает?) 1. Из чего состоит двусвязный список? a) Поля. b) Узлы. c) Указатели. 2. Какой указатель указывает на последний узел списка? a) Head. b) Next.
C++ СРОЧНО!Параллельное программирование С++ с OIpenMP
Добрый день кто нибудь может мне пожалуйста скинуть легкую задачку с парал. прогр. завтра надо показать. Любую(пример сортировки, матрицы и т.д.) ОЧЕНЬ ПРОШУ!!!!
C++ Реализация алгоритма сортировки вставками http://www.cyberforum.ru/cpp-beginners/thread893460.html
Мне нужно сделать лабу тема вверху... перед этим прочитал тему http://www.cyberforum.ru/cpp-beginners/thread27084.html все равно не понял как связать, допустим, массив и этот алгоритм. Помогите пожалуйста
C++ Дан текстовый файл. Перепишите его в выходной файл, удалив все знаки препинания Дан текстовый файл. Перепишите его в выходной файл, удалив все знаки препинания #include <iostream.h> #include <fstream.h> #include <string.h> int main() { char buf; ifstream input("input.txt"); подробнее

Показать сообщение отдельно
diagon
Higher
 Аватар для diagon
1920 / 1186 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
06.06.2013, 17:50     Не объясните в чём разница между случаями
Есть такое понятие, как неполный тип. Экземпляры таких типов нельзя создавать. Зато можно создавать указатели на такие типы(но такие указатели нельзя разыменовывать и т.д., зато можно применять к ним delete и это будет ub, для таких вещей был придуман boost::checked_delete), а также статические экземпляры таких типов(т.к. статические члены в классе лишь объявляются, затем может идти определение неполного типа, а затем определение статического члена).
Например
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
struct Incomplete;
 
struct X
{
    static Incomplete a;  
    Incomplete *p;
};
 
/*
struct Incomplete
{
    int field;
};
*/
 
Incomplete X::a; //error: нельзя определить переменную с неполным типом
 
int main()
{
    X object;
    *object.p = X::a; //error: нельзя разыменовать указатель на неполный тип.
}
Если раскомментить определение Incomplete, то все благополучно скомпилится.
 
Текущее время: 10:30. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru