Запитання з тегом «lifetime»

5
Який термін служби статичної змінної у функції C ++?
Якщо змінна оголошена як staticсфера функції, вона ініціалізується лише один раз і зберігає своє значення між викликами функції. Який саме його термін експлуатації? Коли викликають його конструктор та деструктор? void foo() { static string plonk = "When will I die?"; }
373 c++  static  lifetime 

2
Чому я не можу зберігати значення та посилання на це значення в одній структурі?
У мене є значення, і я хочу зберігати це значення та посилання на щось усередині цього значення у власному типі: struct Thing { count: u32, } struct Combined<'a>(Thing, &'a u32); fn make_combined<'a>() -> Combined<'a> { let thing = Thing { count: 42 }; Combined(thing, &thing.count) } Іноді у мене є …


1
Що таке нелексичне життя?
У Rust є RFC, пов’язаний із нелексичним життям, який затверджено впроваджувати в цю мову протягом тривалого часу. Останнім часом підтримка цієї функції Рустом значно покращилась і вважається повною. Моє запитання: що саме таке нелексичне життя?

9
"Час життя" рядкового літералу в C
Чи не буде недоступним покажчик, який повертає наступна функція? char *foo(int rc) { switch (rc) { case 1: return("one"); case 2: return("two"); default: return("whatever"); } } Тож час життя локальної змінної в C / C ++ практично лише в межах функції, так? Що означає, що після char* foo(int)завершення вказівник, який …

1
Використання змінної у власному ініціалізаторі
[basic.scope.pdecl] / 1 стандартного проекту C ++ 20 мав наступний (ненормативний) приклад у примітці (часткова цитата до об'єднання запиту 3580 , див. відповідь на це запитання): unsigned char x = x; [...] x ініціалізується із власним (невизначеним) значенням. Чи насправді це чітко визначена поведінка в С ++ 20? Зазвичай самоініціалізація …

1
Чи дозволена арифметика вказівника на виділеному сховищі, оскільки C ++ 20?
У стандарті C ++ 20 сказано, що типи масивів - це неявний тип життя . Чи означає це, що масив до неявного типу життя може бути неявно створений? Неявне створення такого масиву не спричинило б створення елементів масиву? Розглянемо цей випадок: //implicit creation of an array of std::string //but not …
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.