Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 31.03.2019, 02:56   #1
stazot
 
Регистрация: 17.04.2014
Сообщений: 8
Вопрос как проверить создаётся ли объект в первые

Всем привет, возможно банальный вопрос, но что то не могу найти.
Вопрос следующий. Имеется класс, и нужно делать список объектов в классе два статических свойства,
Код:
static class *first, *last; class *prew и *next
и вот не задача, не могу понять как проверить создаётся ли объект в первые.
что бы инициализировать свойства класса first и last
Дело в том что при отладочный компиляции можно проверить с помощью
Код:
if(!first) first = this
, но при реальной компиляции в эти переменные попадает мусор.
Если это можно сделать подскажите как.
Спасибо
stazot вне форума Ответить с цитированием
Старый 31.03.2019, 09:38   #2
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,493
По умолчанию

Цитата:
Сообщение от stazot Посмотреть сообщение
при реальной компиляции в эти переменные попадает мусор
А как вы это определили?
Так или иначе, ничего не мешает инициализировать эти переменные нулем явно:
class *class:first = 0;
waleri вне форума Ответить с цитированием
Старый 31.03.2019, 11:58   #3
stazot
 
Регистрация: 17.04.2014
Сообщений: 8
По умолчанию

Цитата:
Сообщение от waleri Посмотреть сообщение
А как вы это определили?
Так или иначе, ничего не мешает инициализировать эти переменные нулем явно:
class *class:first = 0;
Скомпилировал в релиз.
Инициализировать при создании класса ошибку выдаёт. это можно сделать только в конструкторе
stazot вне форума Ответить с цитированием
Старый 31.03.2019, 12:02   #4
stazot
 
Регистрация: 17.04.2014
Сообщений: 8
По умолчанию

Код:
test *test:first=0
выдаёт ошибку
stazot вне форума Ответить с цитированием
Старый 31.03.2019, 12:26   #5
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,493
По умолчанию

два двоеточия, два...
waleri вне форума Ответить с цитированием
Старый 31.03.2019, 12:27   #6
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,493
По умолчанию

Цитата:
Сообщение от stazot Посмотреть сообщение
Инициализировать при создании класса ошибку выдаёт
И что, ошибка может быть только в в этом?
Код показывайте, а то так можем долго переливать из пустого в порожнее.
waleri вне форума Ответить с цитированием
Старый 31.03.2019, 17:29   #7
stazot
 
Регистрация: 17.04.2014
Сообщений: 8
По умолчанию

Цитата:
Сообщение от waleri Посмотреть сообщение
И что, ошибка может быть только в в этом?
Код показывайте, а то так можем долго переливать из пустого в порожнее.
видимо да, ошибка появляется только после написания кода как вы сказали
Код:
#ifndef TEST_H
#define TEST_H


class test
{
    test *test:first = 0; 
    test *test:last = 0;
    int a,b,c;
public:
    test(int a, int b, int c);
};

#endif // TEST_H
stazot вне форума Ответить с цитированием
Старый 31.03.2019, 17:32   #8
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,493
По умолчанию

А я не это говорил.
Перечитайте про дефиницию и декларацию переменных.
waleri вне форума Ответить с цитированием
Старый 31.03.2019, 17:40   #9
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Ну или компилятор обновите и для указателей лучшу nullptr
p51x вне форума Ответить с цитированием
Старый 31.03.2019, 19:06   #10
stazot
 
Регистрация: 17.04.2014
Сообщений: 8
По умолчанию

Цитата:
Сообщение от waleri Посмотреть сообщение
А я не это говорил.
Перечитайте про дефиницию и декларацию переменных.
Для обычных свойств работает, а вот для статических нет.
Код:
static test *test::first = nulptr
error: extra qualification on member "first"
я не прошу сделать что то за меня. Не нашел документацию по данному вопросу, гугл выдаёт только банальные и известные проблемы. и простые декларации и объвления.
stazot вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проверить первые 4 символа в ячейке с последующим обьединением arbitr.ru Microsoft Office Excel 2 15.11.2016 23:22
Как проверить null или сылка на объект не указывает на экземпляр объекта Kroshandowski Windows Forms 2 17.05.2013 11:50
как проверить проинициализирован ли объект? :=) Общие вопросы Delphi 1 13.08.2012 14:28
Проверить выделена ли память под объект Sibedir Общие вопросы Delphi 58 21.03.2011 11:48