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

Проверка массива на пустоту - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.86
vvApache
5 / 5 / 0
Регистрация: 08.05.2011
Сообщений: 121
04.07.2012, 10:54     Проверка массива на пустоту #1
Здравстуйте! Работаю с деревьями, возникла такая проблема:
есть две структуры:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
struct file {
public:
    string name;                    //имя
    string path;                    //путь к файлу
    string isLocked;                //NULL-не заблокирован, ""-заблокировавший пользователь 
};
 
struct directory {
public:
    string name;                    //имя
    string path;                    //пусть к папке
    directory* dirs;        //массив вложенных папок
    file* files;           //массив содержащихся файлов
};
создаю, инициализирую
C++
1
2
directory dir;
dir.dirs = new directory[100];
сейчас в
C++
1
dir.dirs[i].name
можно писать.
массив
C++
1
dir.dirs[i].dirs
не инициализирован, но при проверке его
C++
1
if(dir.dirs[i].dirs)
выдает true.
в чем тут может быть проблема?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.07.2012, 10:54     Проверка массива на пустоту
Посмотрите здесь:

Проверка отсортированности массива C++
C++ проверка на пустоту строки
C++ Проверка файла на пустоту
Проверка стека на пустоту C++
Проверка массива C++
Проверка папки на пустоту C++
C++ Создайте класс динамического массива, в котором реализована проверка выхода за границы массива
C++ Шаблонный класс матрицы. Проверка матрицы на пустоту

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
solar_wind
 Аватар для solar_wind
740 / 731 / 39
Регистрация: 06.07.2009
Сообщений: 2,937
Завершенные тесты: 1
04.07.2012, 11:02     Проверка массива на пустоту #2
Ты в dir.dirs[i].dirs не помещаешь никакого значения, так что там может быть все что угодно. Так валидность указателя можно проверять, только если ты заранее поле структуры инициализируешь нулем.
Deviaphan
Делаю внезапно и красиво
Эксперт C++
 Аватар для Deviaphan
1283 / 1217 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
04.07.2012, 11:03     Проверка массива на пустоту #3
Цитата Сообщение от vvApache Посмотреть сообщение
в чем тут может быть проблема?
Добавь конструктор, инициализирущий указатель нулём. Сейчас ты проверяешь мусор.
Yandex
Объявления
04.07.2012, 11:03     Проверка массива на пустоту
Ответ Создать тему
Опции темы

Текущее время: 09:10. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru