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

Инициализация массива объектов через конструктор - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Составить список из одинаковых элементов двух других списков http://www.cyberforum.ru/cpp-beginners/thread1175675.html
нужна ваша помощь) Даны 2 двузсвязных списка s1 и s2, создать новый список s3, элементами которого будут элементы, входящие одновременно в 2 эти списка.
C++ Команда всем stream-ам Допустим у меня есть такое : std::ofstream foutOne(fileOne); std::ofstream foutTwo(fileTwo); // и std::cout как указать всем ,что на пример precision(5); причем одним махом http://www.cyberforum.ru/cpp-beginners/thread1175668.html
Заменить все члены последовательности, большие заданного числа Z, этим числом; подсчитать количество замен C++
Дана последовательность действительных чисел а1, а2,..., an. Заменить все ее члены, большие данного Z, этим числом. Подсчитать количество замен. Это все, что я могу:( #include "stdafx.h" #include "stdio.h" # include "math.h" # define N 10 int main()
написать программу решения уравнения ax^3+bx=0 для произвольных a и b C++
написать программу решения уравнения ax^3+bx=0 для произвольных a и b.
C++ Строки / Работа со строками [C++] http://www.cyberforum.ru/cpp-beginners/thread1175653.html
3) Сложные действия со строками Дано осмысленное текстовое сообщение (т.е. алфавитно-цифровая информация, разделен ная пробелами и знаками препинания, в конце которого ставится точка): Подсчитать количество слов, содержащихся в сообщении.
C++ Курсовая: "Многопоточный запуск VB скриптов из приложения C++" Добрый день форумчане! Подскажите пожалуйста с чего начать и общую архитектуру приложения по теме курсовой: "Многопоточный запуск VB скриптов из приложения C++"? Спасибо подробнее

Показать сообщение отдельно
Tulosba
:)
Эксперт С++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
14.05.2014, 15:49     Инициализация массива объектов через конструктор
Можно через синтаксис размещающего (placement) new:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <iostream>
 
struct S
{
    S(int i) : i(i) {}
    void print() const { std::cout << i << std::endl; }
    int i;
};
 
int main() {
    
    const int cnt = 10;
    void* p = ::operator new(sizeof(S)*cnt);
    for(int i=0;i<cnt;++i)
        new (p+i*sizeof(S)) S(i);
    
    S* s = static_cast<S*>(p);
    
    for(int i=0;i<cnt;++i)
        s[i].print();
    
    // S* ss = new S[cnt]; // не работает без конструктора по умолчанию
    return 0;
}
http://ideone.com/lt9NNW
 
Текущее время: 11:51. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru