يمكن قائمة التهيئة في استخدامها الصانعين في صفوف القالب؟

StackOverflow https://stackoverflow.com/questions/230790

سؤال

وأجد أن معظم الكتب المتعلقة قوالب C ++ لا تقول أي شيء حول ما إذا كان من الممكن استخدام أو عدم استخدام قائمة التهيئة في منشئ فئة القالب.

وعلى سبيل المثال، لدي كود مثل هذا:

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];
    }

هل يمكنني استبدال منشئ مع

Stack(): count(0), capacity(INIT), data(new T [INIT])
هل كانت مفيدة؟

المحلول

نعم. لم المترجم اقول لكم خلاف ذلك؟

نصائح أخرى

ولقد حاولت فقط ويقول VS2008 أنه لا بأس، ولكن يبدو غريبا بعض الشيء لأن بعض المؤلفين كبيرة لا تفعل ذلك (إيكل، على سبيل المثال، في كتابه "التفكير في C ++").

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top