Я не понимаю разницы между конструктором присваивания и конструктором копирования в С++. Это примерно так:
class A {
public:
    A() {
        cout << "A::A()" << endl;
    }
};
// The copy constructor
A a = b;
// The assignment constructor
A c;
c = a;
// Is it right?
Я хочу знать, как выделить память конструктора присваивания и конструктора копирования?