Свързани въпроси 'copy-constructor'
Автоматизация между контейнери на различни обекти с присвояване на копие
Имам разреден вектор от тип std::vector<SparseElement<T,I>> , където SparseElement е:
template<typename T, typename I = unsigned int>
struct SparseElement
{
I index;
T value;
//............
SparseElement...
118 изгледи
schedule
01.10.2022
Съхраняване на обекти в STL вектор - минимален набор от методи
Какво е "минимална рамка" (необходими методи) на сложен обект (с изрично неправилни вътрешни данни), който искам да съхранявам в STL контейнер, напр. <vector> ?
За моите предположения (пример за сложен обект Doit):
#include...
1662 изгледи
schedule
11.10.2022
Как се обработват членовете на масива на C++ във функциите за контрол на копирането?
Това е нещо, което се чудех от дълго време. Вземете следния пример:
struct matrix
{
float data[16];
};
Знам какво правят конструкторът и деструкторът по подразбиране в този конкретен пример (нищо), но какво да кажем за конструктора за...
5583 изгледи
schedule
24.10.2022
Възможно ли е да се използва std::map в C++ с клас без оператор за копиране?
Използвам клас (обект), който няма оператор за копиране: той по принцип не може да бъде копиран в момента. имам
std::map<int,Object> objects
променлива, която изброява обекти с int идентификатор. Как мога да добавя обект към тази...
12642 изгледи
schedule
14.11.2022
Намерете списъка с променливи членове на клас и техните типове?
Никога не съм чувал, че е възможно, но питам с надеждата, че е възможно. За клас с много повече членски променливи от това:
class A
{
public:
SomeOtherClass* s;
int i;
int j;
A() {}
A(const A& soc): s(soc.s->Clone()), i(soc.i),...
12772 изгледи
schedule
26.10.2022
Копиране на конструктор и композиция
Имам връзка на композиция между клас A и B,
class A
{
A(); //default constructor //EDIT
A(const A &mA); // copy constructor //EDIT
virtual ~A();
};
class B
{
B(A *pA); //constructor
B(const B &mB) //copy constructor
virtual...
1210 изгледи
schedule
01.12.2022
std::string конструктор за копиране НЕ е дълбоко в GCC 4.1.2?
Чудя се дали не съм разбрал нещо погрешно: дали конструкторът за копиране от std::string не копира съдържанието му?
string str1 = "Hello World";
string str2(str1);
if(str1.c_str() == str2.c_str()) // Same pointers!
printf ("You will get...
3578 изгледи
schedule
09.11.2023
Кога да предоставим дефиниран от потребителя конструктор на копиране и оператор за присвояване?
Трябва ли само да напишем конструктор за копиране и оператор за присвояване, когато имаме членове с данни за указател (защото в противен случай два указателя биха могли да сочат към един и същ обект, когато генерираният от компилатора копиращ ctor...
1202 изгледи
schedule
31.10.2022
Конструктор за копиране на C++ Move и оператор за преместване на присвояване
Направих просто приложение с конструктор за копиране на преместване и оператор за присвояване на копие за преместване и за всеки от тях направих изявление cout само за да ми каже кои се изпълняват. Но по време на изпълнение не видях никакво изявление...
3951 изгледи
schedule
08.12.2022
конструктор и поведение на конструктор за копиране в c++
Имам следния код:
#include <iostream>
using namespace std;
class X
{
public:
int g;
X() { cout << "constr" << endl; }
X(const X& ref1) { cout << "copy constr" << endl; }
};
X f()
{
X ee;
ee.g...
55 изгледи
schedule
22.10.2022
хмм добре благодаря ти. Бихте ли казали, че запазването на статуквото е оптимално за четливост или би било по-добре да използвате формата a=b=c?
55 изгледи
schedule
22.10.2022
Изтрит конструктор за копиране на член на кортеж причинява грешка
Тази част от кода
#include <tuple>
struct Foo
{
Foo(const int& value):value_(value){}
//Foo(const Foo&)=delete; // delete copy constructor
int value_;
};
int main()
{
std::tuple<Foo> tup(std::move(Foo(1)));...
831 изгледи
schedule
04.06.2024