Форум программистов, компьютерный форум, киберфорум
Наши страницы

Как достать объект-контейнер, а не его элемент - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Упорядочивание массива структур по нескольким полям http://www.cyberforum.ru/cpp-beginners/thread1203105.html
Есть программа,которая сортирует студентов по году рождения. #include <conio.h> #include <iostream> #include <stdio.h> const int n=3; struct student { char fio; char god; };
C++ Не хочет компилироваться, код верный Вроде бы и простая фигня, но.. не могу откомпилировать. Помогите разобраться. #include<iostream.h> const n=50; void main() { int* m = new int n; int k,i,c,f; cout<<"\nВведите количество... http://www.cyberforum.ru/cpp-beginners/thread1203099.html
Районная олимпиада по программированию 2011-12 (ошибка!) C++
Похоже что я нашел ошибку помогите мне подтвердив ее или опровергнуть вот задача ! Для иллюстрации метода математической индукции в учебниках времен СССР всегда приводилась следующая задача:...
C++ Определитель матрицы. Символьный вид
Написать программу которая выводит формулу определитель матрицы в символьном виде для n-го случая. Есть код для нахождения диагоналей. Но в нем вроде не работает ss >> tstr; #include <iostream>...
C++ Анализ твиттов http://www.cyberforum.ru/cpp-beginners/thread1203058.html
#include <iostream> #include <fstream> #include <sstream> #include <iterator> #include <vector> #include <map> #include <string> using namespace std; map<int, int> Max_Time; struct Time
C++ Копирование элементов из старой матрицы в новую. Динамическое распределение памяти Столкнулся с такой задачей : Вводится матрица. Если в матрице наибольший элемент находится над главной диагональю, то программа формирует новую матрицу, удалив из исходной столбец и строку, на... подробнее

Показать сообщение отдельно
kordax
4 / 4 / 1
Регистрация: 08.06.2014
Сообщений: 89
14.06.2014, 19:40  [ТС]
Подниму тему ещё разок.

Есть код:

C++
1
2
3
4
    for (int i = size; i < newalloc; ++i)
    {
        alloc.construct(&newmemory[i], val[i]); // копируем
    }
C++
1
2
3
4
5
6
template<class T>
void allocat<T>::construct(T* p, const T& v)
{
    p = new T;
    *p = v;
}
Т.е. из него понятно, что функция конструирует объект по адресу p, со значением v.
Однако возникает проблема, например:
Когда я создаю объект моего класса S: S<int> s_int(2);
Я получаю ошибку на операции *p = v;

Ошибка происходит потому, что v - null_reference.
И тут возникла проблема.
Т.к. я работаю с int,double,string,char,vector в шаблоне, то я не пойму, как я могу проверить v на пустое значение или заполнить v нулевым элементом, чтобы при операции присваивания не вылетал эксепшн.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru