powered by simpleCommunicator - 2.0.19     © 2024 Programmizd 02
Map
Форумы / C++ [игнор отключен] [закрыт для гостей] / не могу посчитать количество строк в массиве.
20 сообщений из 45, страница 2 из 2
не могу посчитать количество строк в массиве.
    #40082543
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andron81,

И вообще. Ты задал 4 строки. Зачем их считать?
...
Рейтинг: 0 / 0
не могу посчитать количество строк в массиве.
    #40082548
andron81
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
crutchmaster,

затем чтобы скорректировать массив легко было в константе . добавил элементов или убрал и всё. и не надо ещё где-то константы длин контролировать.
...
Рейтинг: 0 / 0
не могу посчитать количество строк в массиве.
    #40082549
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
не могу посчитать количество строк в массиве.
    #40082551
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andron81
затем чтобы скорректировать массив легко было в константе

Сделай через std::array, пока ничего себе не отстрелил.
...
Рейтинг: 0 / 0
не могу посчитать количество строк в массиве.
    #40082552
andron81
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Siemargl
andron81,

Код: plaintext
1.
2.
3.
4.
5.
int main() {
  A elem(42);
  AA.push_back(elem); //компилится
  AA.push_back(elem); //компилится
}


crutchmaster
andron81,

Это не массив, а указатель. Ты ходишь по охриненно тонкому льду...

Чего ?


в данном случае я лоханулся , сделав конструктор с параметром. Но если сделать конструктор по умолчанию тогда
по-моему не скомпилируется :
AA.push_back();
AA.push_back();

а почему ???
...
Рейтинг: 0 / 0
не могу посчитать количество строк в массиве.
    #40082556
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
crutchmaster
Сам сначала выучи уроки, чепуху пишешь.
...
Рейтинг: 0 / 0
не могу посчитать количество строк в массиве.
    #40082558
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andron81,

Ты забыл написать, _что_ ты хочешь положить в массив.

Кстати, меняющий содержимое конструктор копирования это очень весело. Посмотри потом содержимое =)
...
Рейтинг: 0 / 0
не могу посчитать количество строк в массиве.
    #40082560
andron81
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Siemargl
andron81,



Кстати, меняющий содержимое конструктор копирования это очень весело. Посмотри потом содержимое =)


это я для того чтобы отследить , что именно он отработал )
мне казалось , что при хранении в векторе отрабатывает именно копирующий. я stl ещё не читал просто )))
мне надо хранить именно объекты классов. Но получилось в векторе хранить через указатель на этом и остановился.
...
Рейтинг: 0 / 0
не могу посчитать количество строк в массиве.
    #40082566
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Siemargl
Сам сначала выучи уроки, чепуху пишешь.

arr[500] "массива" из 4-х элементов вернёт тебе что нибудь определённое/выкинит out-of-bound exception, как должно быть в нормальном человеческом массиве или вернёт мусор/сегфолт (как повезёт).
...
Рейтинг: 0 / 0
не могу посчитать количество строк в массиве.
    #40082580
Фотография AmKad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andron81

мне надо хранить именно объекты классов.
Такое возможно. Надо только не забыть описать семантику копирования/перемещения.

andron81
Но получилось в векторе хранить через указатель на этом и остановился.
Тоже неплохой вариант, например, вкупе с умными указателями.
...
Рейтинг: 0 / 0
не могу посчитать количество строк в массиве.
    #40082583
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
crutchmaster
Siemargl
Сам сначала выучи уроки, чепуху пишешь.

arr[500] "массива" из 4-х элементов вернёт тебе что нибудь определённое/выкинит out-of-bound exception, как должно быть в нормальном человеческом массиве или вернёт мусор/сегфолт (как повезёт).
Я не очень понимаю, как это относится к вектору и вообще о чем ты пишешь 22344962

Так что приводи примеры и лучше проверенные хотя бы тут cpp.sh
...
Рейтинг: 0 / 0
не могу посчитать количество строк в массиве.
    #40082621
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andron81
Код: plaintext
1.
AA.push_back(); //не компилится


vec.emplace_back(/*аргументы конструктора*/)
...
Рейтинг: 0 / 0
не могу посчитать количество строк в массиве.
    #40082841
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Siemargl
Я не очень понимаю, как это относится к вектору и вообще о чем ты пишешь

ТС считает массивом то, что массивом не является по сути. Одно неверное движение и он останется без пальцев
...
Рейтинг: 0 / 0
не могу посчитать количество строк в массиве.
    #40082854
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andron81,


extern const int arr[][4] = { {13,344,55}, { 13,344,55 }, { 13,344,55 }, { 13,344,55 } };

-- это ОБЪЯВЛЕНИЕ, а не определение. Соответственно, тут не может быть инициализатора.
И если не будет инициализатора, размерности массива должны быть указаны явно (а не взяты из инициализатора, который тут применить нельзя)
...
Рейтинг: 0 / 0
не могу посчитать количество строк в массиве.
    #40082858
andron81
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv,

а по мне так это объявление.
...
Рейтинг: 0 / 0
не могу посчитать количество строк в массиве.
    #40082862
andron81
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andron81,

ой, пардон. определение. не проснулся ещё.
...
Рейтинг: 0 / 0
не могу посчитать количество строк в массиве.
    #40082868
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andron81
MasterZiv,

а по мне так это объявление.


Ну, по тебе может быть что угодно, главное -- как компилятор считает.
...
Рейтинг: 0 / 0
не могу посчитать количество строк в массиве.
    #40082877
andron81
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv
andron81
MasterZiv,

а по мне так это объявление.


Ну, по тебе может быть что угодно, главное -- как компилятор считает.


да ладно ?? Ну сделай файл header.h со строкой :
Код: plaintext
1.
extern const int arr[][4] = { {13,344,55}, { 13,344,55 }, { 13,344,55 }, { 13,344,55 } };


а потом сделай main.cpp
Код: plaintext
1.
2.
3.
4.
#include "Header.h"
int main() {
	int k = arr[0][0];
}


или так
Код: plaintext
1.
2.
3.
4.
5.
#include "Header.h"
extern const int arr[][4] ;
int main() {
	int k = arr[0][0];
}



если бы extern const int arr[][4] = { {13,344,55}, { 13,344,55 }, { 13,344,55 }, { 13,344,55 } };
было бы только объявлением тогда это бы не работало ваще, а если работает значит память выделилась.
так что это определение причем как следствие с указанием длины массива .
...
Рейтинг: 0 / 0
не могу посчитать количество строк в массиве.
    #40083003
a guest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MasterZiv
extern const int arr[][4] = { {13,344,55}, { 13,344,55 }, { 13,344,55 }, { 13,344,55 } };

-- это ОБЪЯВЛЕНИЕ, а не определение. Соответственно, тут не может быть инициализатора.
И если не будет инициализатора, размерности массива должны быть указаны явно (а не взяты из инициализатора, который тут применить нельзя)
Было бы здорово такие громкие заявления снабжать ссылками на соответствующие параграфы в стандарте.
...
Рейтинг: 0 / 0
не могу посчитать количество строк в массиве.
    #40083004
a guest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
petrav
Anatoly Moskovsky
ъъъъъ,

Какая разница что там выводится в результате UB? ))

Это же должно быть нарушением ODR?
Оно не может приводить к UB?
...
Рейтинг: 0 / 0
20 сообщений из 45, страница 2 из 2
Форумы / C++ [игнор отключен] [закрыт для гостей] / не могу посчитать количество строк в массиве.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали тему (0):
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]