Как распаковать xlsx?

Аргумент, что, если компилятор может предоставить конструктору копии по умолчанию, это должно быть в состоянии обеспечить подобное значение по умолчанию operator==(), делает определенное количество смысла. Я думаю, что причина решения не обеспечить сгенерированное компилятором значение по умолчанию для этого оператора может быть предположена тем, что Stroustrup сказал о конструкторе копии по умолчанию в "Дизайне и Эволюции C++" (Раздел 11.4.1 - Управление Копирования):

я лично считаю его неудачным, что операции копии определяются по умолчанию, и я запрещаю копирование объектов многих моих классов. Однако C++ наследовал свое присвоение по умолчанию и конструкторов копии от C, и они часто используются.

Так вместо, "почему C++ не имеет значения по умолчанию operator==()?", вопрос должен был быть, "почему C++ имеет присвоение по умолчанию и копирует конструктора?", с ответом, являющимся теми объектами, были включены неохотно Stroustrup для назад совместимости с C (вероятно, причина большинства бородавок C++, но также и вероятно основная причина популярности C++).

В моих собственных целях, в моем IDE отрывок, который я использую для новых классов, содержит объявления для частного оператора присваивания и конструктора копии так, чтобы, когда я получаю сведения о новом классе, я не получал присвоения по умолчанию и копировал операции - я должен явно удалить объявление тех операций от эти private: раздел, если я хочу, чтобы компилятор был в состоянии генерировать их для меня.

8
задан Victor Rodrigues 3 September 2009 в 18:20
поделиться