Описание тега zero-initialization

1 ответ

Порядок статической инициализации для синглетонов

Итак, я читаю, что для нулевой инициализации будет инициализироваться: Каждая именованная переменная со статическим или локальным потоком хранения, которая не подлежит постоянной инициализации перед любой другой инициализацией Я использую Singleton …
0 ответов

Можете ли вы инициализировать массив переменной длины с динамическим размером нулю?

В книге 21-й век C Советы из новой школы. На странице 171 написано: Теперь о грустной части: допустим, у вас есть массив переменной длины (т. Е. Тот, чья длина установлена ​​переменной времени выполнения). Единственный способ обнулить это через mems…
26 июн '18 в 07:42
1 ответ

Получить инициализированный по умолчанию (НЕ значение / инициализированный нулем) POD в качестве значения

#include <iostream> struct A { int x; }; void foo(A a) { std::cout << a.x << std::endl; } int main() { A a; foo(a); // -7159156; a was default-initialized foo(A()); // 0; a was value-initialized } Можно ли передать значение типа A …
1 ответ

C++ Zero-Initialization

У меня возникают проблемы с пониманием, когда и почему именно член в моем классе инициализируется нулями в соответствии с http://en.cppreference.com/w/cpp/language/zero_initialization. Рассмотрим следующую тестовую программу: #include <iostream&g…
15 фев '18 в 14:44
1 ответ

Нулевой инициализатор для смещений, использующих get_variable в тензорном потоке

Код, который я изменяю, использует tf.get_variable для весовых переменных и tf.Variable для инициализации смещения. После некоторых поисков кажется, что get_variable всегда следует отдавать предпочтение из-за его мобильности в отношении обмена. Поэт…
0 ответов

Нулевая инициализация целых чисел в Clang отличается

У меня есть проблема. Если у меня есть класс, который является оберткой для 2 целых чисел, таких как: class A { int a; int b; } они всегда обнуляются, если я: A a; , Однако, если я добавлю еще одно целое число: class A { int a; int b; int c; } Aa вн…
27 дек '18 в 13:03
1 ответ

Инициализация члена класса C++11

Просто переключился на C++11 с C++03, и мне было интересно, определено ли следующее, чтобы всегда инициализировать массив нулем data для всех элементов? template<size_t COUNT> class Test { public: uint32 data[COUNT] = {}; };
1 ответ

Когда я 0-инициализирую вектор Имеет ли он тот же эффект, что и calloc?

Так calloc вызывает операционную систему для поиска обнуленных страниц в куче: /questions/40528833/pochemu-mallocmemset-medlennee-chem-calloc/40528838#40528838 Как насчет C++11 vector конструктор, который принимает только size_t и 0-инициализирует з…
20 май '16 в 13:00
0 ответов

Почему glmmTMP оценивает приблизительно половину значения для смешанной модели Максвелла Пуассона Конвея с нулевой раздувкой для имитированных данных

Я пытаюсь оценить параметр для смешанной модели Конвея Максвелла Пуассона. Я не понимаю, почему функция GlmmTMP дает приблизительно половинное значение для части с ненулевым эффектом и дает хорошие оценки для нулевой части и части дисперсии? Наприме…
10 апр '19 в 23:31
1 ответ

Что-то не так с моим базовым нулевым кодом инициализации?

#include <iostream> int main() { int x{ 19 }; std::cout << "Hola!" << '\n'; std::cout << "Me llamo Kay\n"; std::cout << "And I am " << x << " years old\n"; std::cout << "Who are you?\n"; int y{}; std::…
18 мар '20 в 16:00
1 ответ

Чрезмерно нетерпеливая инициализация нулями C++ union с constexpr

Ниже приведен сокращенный пример помеченного шаблона объединения "Хранение", который может предполагать два типа L и R, заключенные в объединение, плюс логическое значение, указывающее, какой из них сохраняется. При создании экземпляра используются …
06 мар '20 в 20:26
2 ответа

Выполняет ли std::unordered_map operator[] нулевую инициализацию для несуществующего ключа?

Согласно cppreference.com, std::map::operator[] для несуществующего значения выполняет нулевую инициализацию. Однако на том же сайте не упоминается инициализация нуля для std::unordered_map::operator[] , за исключением того, что у него есть пример, …
05 дек '19 в 12:44
1 ответ

C++ zero init массив шаблонов с переменной длиной массива

Есть ли способ обнулить инициализацию массива любого типа с переменным размером? Итак, я хочу применить что-то вроде этого: int results[5] = {}; к такому шаблону: T results[i] = {}; Когда я пытаюсь это сделать, мой компилятор говорит следующее: 'res…
20 дек '19 в 00:08
3 ответа

Почему при инициализации структуры C++ значением `= {0}` для всех ее членов не устанавливается значение 0?

После тонны тестирования и написания этого ответа (примечание: отрицательное голосование было ДО того, как я его полностью переписал), я не могу понять, почему= {0} не устанавливает все члены структуры в ноль! Если вы сделаете это: struct data_t { i…
30 апр '20 в 23:12
0 ответов

Ошибка в GAM Пуассона с нулевым завышением - неопределенная штрафная вероятность

Я построил отрицательный биномиальный GAM в mgcv. > library(mgcv); library(mgcViz) > gam14 <- gam(n ~ State + method + State*method + s(month, bs = "cc", k = 12, by = method) + s(time, by = method), data = control_l_gp_pad, family = nb(), m…
29 май '20 в 08:43
0 ответов

Есть ли в C++ пустые скобки с нулевой инициализацией в C-структуре?

Если с C++17 я сделаю struct tm mytm{}; int i{}; Будет ли переменная mytm (и на всякий случай также i) быть инициализированным нулем? Меня посылают по кругу через эти страницы: значение инициализировано, с нулевой инициализацией, инициализированный …
1 ответ

почему первая версия печатает новую строку как 129, а вторая работает нормально?

Когда я запускаю первую программу, nl (новая строка) устанавливается на 7ff и выводит 129. #include<stdio.h> // countblanks-tabs-newlinesv1.c void main() { long int c; unsigned char nl, space, tab = 0 ; while( ( c = getchar() ) != EOF) { if ( …
23 янв '20 в 04:35
2 ответа

Безопасная инициализация массива std:: bools?

Учитывая это объявление массива и инициализацию массива: std::array<bool, 20> invalid_params{}; Могу ли я предположить, что все элементы в массиве всегда будут инициализированы значением false, или лучше сделать это явно?
1 ответ

Что находится в поле адреса PTE для анонимно сопоставленной страницы?

Когда программа вызывает mmap для выделения анонимной страницы, также известной как страница с нулевым запросом, что появляется в поле адреса соответствующей записи таблицы страниц (PTE)? Я предполагаю, что ядро не создает страницу с нулевой инициал…
5 ответов

Почему первый элемент за пределами определенного массива по умолчанию равен нулю?

Я готовлюсь к выпускному экзамену для вступления в класс C++. Наш профессор дал нам эту задачу для практики: Объясните, почему код дает следующий результат: 120 200 16 0 using namespace std; int main() { int x[] = {120, 200, 16}; for (int i = 0; i &…