Нужно в отдельной функции получить массив укаателей типа char и каким-то образом достучаться до него из мэйна, чтобы был доступ к каждому элементу массива в виде
char *dst[0], char* dst etc....
Приведенное далее некорректно, но должно быть что-то вроде..
Ответ на сообщение Задачка по С++ пользователя Анонимный пользователь
Некорректно, потому что массив создается в стеке, и при возврате из функции стек очищается и указатель ссылается в никуда.
Нужно примерно так:
char* get_arr(void)
{
char** src = new char * [3];
strcpy(src,"one");
strcpy(src[2],"two");
strcpy(src[3],"three");
//........................................ далее по тексту
return *src;
}
Осторожнее с травой!
Если хапнешь много дряни
Увезут тебя с собой
Злые инопланетяне
У меня этот самый массив указателей - элемент объекта базового класса. Содержимое его (значения элементов) меняются в зависимости от типа класса-потомка (вовсю используется полиморфизм).
Насколько приемлем для данного случая вариант с STL?
Ответ на сообщение Задачка по С++ пользователя Анонимный пользователь
Значит, еще раз вопрос.
Нужно в вспомогательной функции задания параметров массива заполнить его элементы в стиле:
{"one", "two", "three"};
затем передать их в мэйн, чтобы в мэйне их можно было использовать как
a[0], a, a[2]
Тип данных: char.
Как организовать передачу в функцию и чего именно - НЕ ЗНАЮ. Думал над этим вопросом двое суток и понял, что я законченный ламак и доку читать не умею. Сам не разберусь, пришел к вам.
Позволяет ли синтаксис С++ реализовлать прогу, отвечающую вышеуказанным требованиям?
Вариант с STL рабочий, автору благодарность, однако хотелось бы такой способ обойти.
Почему - просто уже из принципа. Уж слишком много времени я потратил впустую на понимание синтаксиса указателей.
Рассказать друзьям
ugly
Анонимный пользователь
Ответ на сообщение Re: Задачка по С++ пользователя Анонимный пользователь
Ага. Просто динамическая аллокация вряд ли имеет какой-то смысл, когда инициализация производится статическим массивом. Кроме того, не очень красиво, когда функция возвращает наружу указатель аллокированный внутри. ИМХО, более правильно было бы, как в приведенном выше примере на STL, передавать в нее storage как параметр.