Что означает копирование объекта ? Какой конструктор копирования и оператор копирующего присваивания ? Когда я должен объявить их сам? Как я могу предотвратить копирование моих объектов?...
Что означает копирование объекта ? Какой конструктор копирования и оператор копирующего присваивания ? Когда я должен объявить их сам? Как я могу предотвратить копирование моих объектов?...
Что это за идиома и когда ее следует использовать? Какие проблемы это решает? Меняется ли идиома при использовании C ++ 11? Хотя это упоминалось во многих местах, у нас не было ни единого вопроса и ответа «что это такое», так что вот оно. Вот частичный список мест, где это было упомянуто ранее:...
Вы можете найти следующее в Интернете: Тип с более высоким родом == Конструктор типа? class AClass[T]{...} // For example, class List[T] Некоторые говорят, что это тип с более высоким родом, потому что он абстрагируется от типов, которые будут соответствовать определению. Типы с более высоким родом...
Я хочу иметь класс с закрытым статическим членом данных (вектор, который содержит все символы az). В Java или C # я могу просто создать «статический конструктор», который будет запускаться до того, как я создам экземпляры класса, и установить статические члены-данные класса. Он запускается только...
У меня есть класс: class SymbolIndexer { protected: SymbolIndexer ( ) { } public: static inline SymbolIndexer & GetUniqueInstance ( ) { static SymbolIndexer uniqueinstance_ ; return uniqueinstance_ ; } }; Как я должен изменить его, чтобы отключить код вроде: SymbolIndexer symbol_indexer_ =...
Я первоначально разместил это как вопрос только о деструкторах, но теперь я добавляю рассмотрение конструктора по умолчанию. Вот оригинальный вопрос: Если я хочу дать моему классу деструктор, который является виртуальным, но в остальном такой же, как и тот, который генерирует компилятор, я могу...
В C #, C ++ и Java, когда вы создаете конструктор, принимающий параметры, стандартный параметр без параметров исчезает. Я всегда только принимал этот факт, но теперь я начал задаваться вопросом, почему. В чем причина такого поведения? Это просто «мера безопасности / догадка», говорящая «Если вы...
У меня есть класс с private char str[256]; и для этого у меня есть явный конструктор: explicit myClass(const char *func) { strcpy(str,func); } Я называю это так: myClass obj("example"); Когда я компилирую это, я получаю следующее предупреждение: устаревшее преобразование из строковой константы в...
Как требует JPA, @Entityклассы должны иметь конструктор по умолчанию (без аргументов) для создания экземпляров объектов при их извлечении из базы данных. В Kotlin свойства очень удобно объявлять в основном конструкторе, как в следующем примере: class Person(val name: String, val age: Int) { /* ......
Я пытался: class Foo(bar: Int) против: class Foo(private val bar: Int) и они, кажется, ведут себя одинаково, хотя я не мог найти нигде, говорящего, что (bar: Int)расширяется до, (private val bar: Int)поэтому мой вопрос: идентичны ли они / похожи? Кстати, я пытался использовать -Xprint:typerэти...
Я хочу освежить свою память об условиях, при которых компилятор обычно автоматически генерирует конструктор по умолчанию, конструктор копирования и оператор присваивания. Я припоминаю, что были некоторые правила, но я не помню, а также не могу найти авторитетный ресурс в Интернете. Кто-нибудь может...
В C ++ 11 std::arrayесть ли у меня гарантия, что синтаксис std::array<T, N> x;инициализирует все элементы массива по умолчанию? РЕДАКТИРОВАТЬ : если нет, существует ли синтаксис, который будет работать со всеми массивами (включая массивы нулевого размера) для инициализации всех элементов их...
В качестве примера возьмем следующий класс: class Sometype { int someValue; public Sometype(int someValue) { this.someValue = someValue; } } Затем я хочу создать экземпляр этого типа, используя отражение: Type t = typeof(Sometype); object o = Activator.CreateInstance(t); Обычно это сработает,...
Допустим, у меня есть тип, и я хочу сделать его конструктор по умолчанию закрытым. Я пишу следующее: class C { C() = default; }; int main() { C c; // error: C::C() is private within this context (g++) // error: calling a private constructor of class 'C' (clang++) // error C2248: 'C::C' cannot...
Имеет ли explicit(полезный) эффект создание конструктора с несколькими аргументами ? Пример: class A { public: explicit A( int b, int c ); // does explicit have any (useful) effect? };
Я знаю, что компилятор C ++ создает конструктор копирования для класса. В каком случае нам нужно написать определяемый пользователем конструктор копирования? Вы можете привести несколько примеров?...
Поскольку конструктор копирования MyClass(const MyClass&); и оператор = перегрузка MyClass& operator = (const MyClass&); имеют практически одинаковый код, одинаковый параметр и отличаются только при возврате, возможно ли иметь общую функцию для них обоих?...
По дизайну std::mutexне подлежит перемещению или копированию. Это означает, что класс, Aсодержащий мьютекс, не получит конструктор перемещения по умолчанию. Как сделать этот тип Aперемещаемым потокобезопасным способом?...
namespace MyNameSpace { static class MyClass { static MyClass() { //Authentication process.. User needs to enter password } public static void MyMethod() { //Depends on successful completion of constructor } } class Program { static void Main(string[] args) { MyClass.MyMethod(); } } } Вот...
У меня есть такой класс: struct event_counts { uint64_t counts[MAX_COUNTERS]; event_counts() : counts{} {} // more stuff }; Обычно я хочу по умолчанию (ноль) инициализировать countsмассив, как показано. Однако в выбранных местах, определенных профилированием, я хотел бы подавить инициализацию...