Как присвоить что-либо динамическому массиву в программе? Возможно ли это?

Как присвоить что-либо динамическому массиву в программе? Возможно ли это?

#include <iostream>

using namespace std;
struct CandyBar
{
    char name[20];
    float ves;
    int kallorii;
};

int main()
{
    CandyBar * ukaz = new CandyBar[3];
    ukaz=
    {
        {"Snickers", 3.5, 700},
        {"Nuts", 4.5, 560},
        {"Rumbdo", 3.57, 620},
    };
    return 0;
}

В c++11 можно

#include <iostream>   
int main() {
    int * p = new int [ 5 ] { 5 , 4 , 3 , 2 , 1} ;
    for ( int i = 0 ; i < 5 ; ++i )
        std::cout << p[i] << std::endl ;
    delete [] p ;
}

Ильнур, ты динамически выделяешь память для хранения данных, которые заданы в программе литерально. Т.е. память под сникерсы и пр. уже выделена на этапе компиляции и эти самые сникерсы в эту память уже занесены. Зачем пытаться их копировать из одного места в другое — непонятно.

Croessmah, до циклов не дошел еще, но нужно будет изучить твой код

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

Внимание! Это довольно старый топик, посты в него не попадут в новые, и их никто не увидит. Пишите пост, если хотите просто дополнить топик, а чтобы задать новый вопрос — начните новый.

Ответить

Вы можете использовать разметку markdown для оформления комментариев и постов. Используйте функцию предпросмотра для проверки корректности разметки.

Пожалуйста, оформляйте исходный код в соответствии с правилами разметки. Для того, чтобы вставить код в комментарий, скопируйте его в текстовое поле ниже, после чего выделите то, что скопировали и нажмите кнопку «код» в панели инструментов. Иначе ваш код может принять нечитаемый вид.

Либо производите оформление кода вручную, следующим образом:

``` #include <iostream> using namespace std; int main() { // ... } ```

Предпросмотр сообщения

Ваше сообщение пусто.