Může seznam inicializace constructors být použity v šablon tříd?

hlasů
2

Zjistil jsem, že většina knih o C ++ šablon nevědí nic o tom, zda je to možné nebo nepoužívat seznam inicializace v konstruktoru třídy šablony říct.

Například, mám kód, jako je toto:

template <class T>
class Stack {
    T* data;
    std::size_t count;
    std::size_t capacity;
    enum {INIT = 5};
public:
    Stack() {
        count = 0;
        capacity = INIT;
        data = new T [INIT];
    }

Mohu nahradit konstruktor s

Stack(): count(0), capacity(INIT), data(new T [INIT])
Položena 23/10/2008 v 19:11
zdroj uživatelem
V jiných jazycích...                            


2 odpovědí

hlasů
4

Ano. Líbilo se kompilátor ti jinak?

Odpovězeno 23/10/2008 v 19:15
zdroj uživatelem

hlasů
0

Právě jsem se snažil a VS2008 říká, že je to v pořádku, ale zdá trochu divné, protože někteří velcí autoři nedělají (Eckel, například v jeho „myšlení v C ++“).

Odpovězeno 23/10/2008 v 19:21
zdroj uživatelem

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more