my_array = new double[8];
or double my_arr[8] = new double[8]; ?
Нет
Может за книгу сесть?
тоесть это не то чтобы тип данных, а скорее надстройка языка для проверки корректности передачи аргументов к примеру. И внутрення реализация (выходной асм) этих функций void DoSomthing(double* Arr); void DoSomthing2(double Arr[8]); не будет отличатся никак?
Поскольку С++ это скорее хобби - то пока просто отказался от double[8] в пользу double* Знаю что незнаю, но сейчас выходы от полного понимания сильно меньше прогнозируемым затратам времени и сил на прочтение всех книг по с++ :)
в первом случае теряешь размер, например
Крайе сомнительная идея
теряю проверку компилятором. или есть возможность использовать sizeof(Arr) - но и это на этапе предкомпиляции вроде решается.
Не надо использовать sizeof(arr)
если речь про С++ то да, а в Си по другому никак низя.
Ты не можешь объявить переменную динамического класса памяти. Их не бывает. Вместо этого ты только можешь создать объект этого типа и получить на него ссылку, которую ты можешь сохранить в указателе или ссылке. Поэтому тип динамического объекта и его "переменной" всегда разный.
Не используй массив С, Даня прав. Смысла ноль, гемора куча.
Правда, тут проблема с массивами не связана никак
Можно хотя бы Прата
Спасибо, но все сложно. я реально немного туповат :) и в проектах (по 20к строк с++ к примеру) у меня нет ниодной ссылки вообще. (ну кроме операторов где они нужны по протоколу) Все передается либо по значению либо по указателю.
тебе не нужно осваивать рвалью семантику если ты не пользуешься ссылками
Ссылки же удобные
Все проще, чем кажется но все равно сложно
чем? что при взгляде на вызываемую функцию сразу не понятно по ссылке передается или по значению без подсказки IDE?
Так и с указателем не понятно
Сигнатуру можно посмотреть) Ну и на чтение, я бы предположил, всё-таки берут const reference, а не копию. Стало быть, имя функции тоже может быть подсказкой.
void(int* handle) нужно ли мне очищать память по этому указателю?
boll sucsess = MyFunc(&My_class_exaple); в теории конечно там может быть что угодно, но на практике мне так легче. И да, 20к строк не только работают, но и поддерживаются, изменяются дополняются и тп. И норм пока без ссылок
а какая разница для вызывающего?
Тебе кажется, что норм
А как вы эти 20к строк без чтения книг пишете и поддерживаете? И что там с конструкторами? Оо
Ну, вообще без ссылок жить на с++ нельзя, так что тебе придется из освоить
Я думаю, что там Си с классами
Но даже там должен быть копиктор, нет?
Так судя по заявлению автора, ссылки только в конструкторах и используются "по протоколу"
Конечно я читал :) но в некоторых вещах не разобрался просто. От ссылок отказался совсем. Какие-то куски знаю что сильно не оптимальны (как использование вектора для хранения и главное поиска), но это специально потому что знаю что на производительность это не влияет.
в точку. + new иногда bи std:: всякие основные
Драйвера и побольше бывают...
Обсуждают сегодня