Описание тега in-class-initialization
2
ответа
C++11 Функция "В инициализации класса" не работает для профсоюзов
Пример минимального кода: struct B { union U { struct S {} s; int i = 100; } u; }; Теперь, если мы объявим B obj; тогда obj.u.i назначается значение мусора вместо 100, Смотрите демо здесь. (Значение мусора отличается в зависимости от флагов оптимиза…
22 июл '13 в 14:33
1
ответ
Почему я не могу сделать инициализированный в классе `const const std::string` статическим членом
У меня есть следующий рабочий код: #include <string> #include <iostream> class A { public: const std::string test = "42"; //static const std::string test = "42"; // fails }; int main(void){ A a; std::cout << a.test << '\n'; }…
27 июн '13 в 19:42
1
ответ
Python: множественное наследование, конструктор копирования, инициализация класса и () перегрузка
Я искал способ инициализировать производный класс, используя конструктор копирования и оператор (), как в C++ class Rectangle { int width, height; public: Rectangle (int,int); int area () {return (width*height);} }; Rectangle::Rectangle (int a, int …
27 мар '17 в 22:02
1
ответ
С C++ я получаю указатель с 0xcdcdcdcd при создании класса - что происходит?
----------------РЕДАКТИРОВАТЬ----------------------- Я взял неправильное значение для сравнения, cdcdcdcd откуда-то пришел. У меня все еще есть свои методы, генерирующие исключения прежде, чем они будут достигнуты, но моя проблема заключается в друг…
26 ноя '11 в 00:31
1
ответ
Что именно является в классе инициализатором?
Я прочитал много текстов, в которых упоминался инициализатор в классе, и я искал много вопросов по stackru, однако я не нашел точного объяснения, что такое инициализатор в классе. И насколько я понял, переменная встроенного типа, объявленная вне как…
01 ноя '18 в 11:22
5
ответов
Битовые поля "инициализация в классе" приводят к "ошибке: в качестве левого операнда присваивания требуется значение l"
struct bitfield { int i = 0; // ok int j : 8 = 0; // error: lvalue required as left operand of assignment }; Каков правильный синтаксис для инициализации битовых полей с помощью функции "инициализация в классе" в C++11?
13 май '13 в 11:13
1
ответ
В инициализаторе класса по умолчанию для члена массива C++11
Как по умолчанию инициализировать массив элементов в C++11? Кажется, что я должен предоставить оценку. class Example { const char* num2letter[10]{" ", "", "abc", "def", "ghi", "jkl", "mno", "pqrs", "tuv", "wxyz"}; }; Компилирует нормально. Но если я…
22 мар '16 в 17:17
1
ответ
Прямое объявление, unique_ptr и инициализатор в классе
Я прочитал Требуется ли std::unique_ptr, чтобы узнать полное определение T? и переслать объявление с unique_ptr?, но мой вопрос более конкретен. Следующие компиляции: // Compile with $ g++ -std=c++11 -c <filename> #include <memory> class…
20 сен '13 в 10:44
3
ответа
Как работает try / catch в списке инициализации?
Мы считаем, что исключение при инициализации может произойти. Поэтому мы пишем блок try / catch. int f(){ throw 1; } class A { public: A() try : _k(f()) {} catch (int) { std::cout << "Exception 1" << std::endl; } private: int _k; }; Но п…
02 окт '12 в 20:17
2
ответа
В инициализации класса и списке инициализаторов
Недавно я обнаружил, что нельзя одновременно указывать инициализацию класса и список инициализаторов. Сбой следующего кода: struct s { int i=0; }; int main() { s s1; //s1.i = 0 //s s2={42}; //fails return 0; } Если я удаляю инициализацию класса in, …
18 окт '13 в 14:33
1
ответ
Inheriting-Constructors + In-Class-Initialization не тип по умолчанию конструкционных объектов терпит неудачу
Я столкнулся со следующей ошибкой в моем проекте: ошибка: использование удаленной функции "C::C(int)" примечание: "C::C(int)" неявно удалено, потому что определение по умолчанию будет неверно сформировано: ошибка: использование удаленной функции '…
29 авг '14 в 18:45
2
ответа
Зачем вставлять val или var в конструкторы класса kotlin
Просто изучение Kotlin В первом коде внизу есть val Ключевое слово прямо в другом коде нет, что здесь отличается, если val а также var опущен? class Person(val firstName: String, val lastName: String) { } class Person(firstName: String, lastName: St…
29 сен '18 в 09:43
2
ответа
Классовая инициализация атомарного
Почему в этом примере struct Foo { atomic<int> x = 1; }; компилятор (gcc 4.8) пытается использовать atomic& operator=(const atomic&) который удаляется (отсюда пример не скомпилируется), а здесь struct Bar { Bar() { x = 1; } atomic<i…
12 май '17 в 13:45
1
ответ
Сделана ли функция "In инициализация члена класса" в C++11?
В функции инициализации класса, которая позволяет инициализировать нормальные члены внутри самого класса, struct A { int a = 0; // error: ISO C++ forbids in-class initialization of non-const static member ‘a’ }; Это дает ошибку в последнем компилят…
26 июн '11 в 06:49
2
ответа
Почему инициализация статических элементов в классе нарушает ODR?
Существует несколько вопросов о переполнении стека в духе "почему я не могу инициализировать статические члены-данные в классе в C++". Большинство ответов цитирует стандарт, в котором говорится, что вы можете сделать; те, которые пытаются ответить, …
20 сен '13 в 05:42
0
ответов
Какой смысл использовать атрибут TestIntialize, когда я могу делать все в ClassIntialize при тестировании MS?
[ClassInitialize] public static void ReportClassSetup(TestContext context) { BaseAdapter.ConnectionString = ConfigurationManager.ConnectionStrings["PremierConfig"].ConnectionString; IServiceContext serviceContext = new ServiceContextTest(); var bac…
18 янв '18 в 17:46
1
ответ
Получить значение по умолчанию для инициализированного в классе члена
Есть ли способ прямого получения значения по умолчанию для члена, который был определен с помощью инициализации в классе? Например: struct Test { int someValue = 5; }; int main(int argc,char *argv[]) { auto val = declvalue(Test::someValue); // Somet…
27 окт '16 в 16:46
2
ответа
Инициализация в классе от статического члена того же типа
Является ли следующий код допустимым, например, не приводит к неопределенному поведению? struct S { int i = s.i; static S s; }; S S::s; int main() { S a; // a.i = 0 S::s.i = 42; S b; // b.i = 42 } Насколько я знаю, все переменные со статической длит…
02 авг '18 в 13:49
2
ответа
Порядок, в котором поля в бине инициализируются
У меня есть такой боб: @Component @DependsOn("SomeType") Class A{ @Autowired SomeType one; String two = one.someMethod(); int three; } In my application context xml, I have: <bean id="two" class="a.b.c.SomeType"></bean> <context:compo…
26 мар '13 в 01:29
3
ответа
В чем причина невозможности определить размер массива из строки инициализатора в переменной-члене?
Рассмотрим код: struct Foo { const char str[] = "test"; }; int main() { Foo foo; } Он не компилируется как с g++, так и clang++, выпуская по существу error: array bound cannot be deduced from an in-class initializer Я понимаю, что именно об этом, ве…
12 апр '15 в 18:45