Вопросы по теме 'temporary-objects'
Когда именно инициализатор временно уничтожается?
Я построил этот эксперимент сегодня, ответив на некоторые вопросы.
struct A {
bool &b;
A(bool &b):b(b) { }
~A() { std::cout << b; }
bool yield() { return true; }
};
bool b = A(b).yield();
int main() { }
b...
610 просмотров
schedule
23.11.2021
Сколько временных объектов создается при этой инициализации?
У меня есть такая инициализация:
const char* str = std::string("a").c_str();
Сколько временных объектов создается при этой инициализации?
Можно "a" считать временным. объект?
Я знаю, что std::string("a") временный. объект....
138 просмотров
schedule
08.09.2021
Передача встроенного временного класса в C ++ должна быть константой. Как обойти это
Я хочу написать переносимый код на C ++ 11 для разных процессоров (на самом деле MCU). Поскольку некоторые ЦП не поддерживают чтение данных программы напрямую через адресное пространство памяти (например, Atmel AVR), мне нужно решение, которое...
47 просмотров
schedule
16.11.2021
Продление жизни временного объекта за счет получения ссылки на подобъект
Существует небольшая разница между языком, используемым на cppreference.com и Стандарт C ++ 11 относительно того, когда продлевается срок службы временного объекта (выделено мной).
С сайта cppreference.com :
Всякий раз, когда ссылка...
276 просмотров
schedule
25.03.2022
Неконстантная ссылка, связанная с временной ошибкой Visual Studio?
Я столкнулся с этим при компиляции переносимого кода в gcc . По сути, этот странный код компилируется в Visual Studio, что просто поражает меня:
class Zebra {int x;};
Zebra goo() {Zebra z; return z;}
void foo(Zebra &x)
{
Zebra y;
x =...
3186 просмотров
schedule
23.04.2022
Разное временный объект T()
Рассмотрим этот код:
int main()
{
int i(6); //this will result in i==6,but consider next initializations
int j(int());
T * p2 = new T();
}
Я обнаружил, что значение j равно 1, но оно должно быть 0, потому что int()...
133 просмотров
schedule
22.05.2022
Привязка временных файлов к неконстантным ссылкам в случае исключений
Я всегда читал, что временным объектам разрешено связываться только с неконстантными ссылочными аргументами в случае вызовов функций.
ДЕЛО 1:-
Например:-
class Simple{
public:
int i;
Simple(Simple &f)
{...
502 просмотров
schedule
15.08.2022
Создает ли возврат временного объекта временный объект в С++?
Рассмотрим следующий код на C++:
struct A {A(int);};
A foo() {return static_cast<A>(0);}
A x = foo();
Здесь static_cast<A>(0) создает временный объект по стандарту [5.2.9-4], который является prvalue. Стандарт [12.2-1] говорит...
860 просмотров
schedule
16.09.2022
Как создаются временные объекты и какие фактические операции происходят?
Может ли кто-нибудь объяснить, как выглядит вывод этого кода:
deleting 0xbfc69f7c 3,7
deleting 0xbfc69f84 2,4
deleting 0xbfc69f8c 1,3
Почему не вызывается деструктор временных объектов, созданный при возврате из перегруженного оператора +....
62 просмотров
schedule
04.10.2022
Генерация предупреждения при вызове функции-члена для временного объекта
Учитывая класс шаблона матрицы mat<M,N,T> , следующая функция-член позволяет мне эффективно транспонировать вектор-строку или вектор-столбец, поскольку они имеют одинаковый/соответствующий объем памяти:
template<int M, int N=M, typename T...
76 просмотров
schedule
01.10.2022
Как разрешить неконстантный конструктор копирования для временных файлов
Как разрешить создание класса с конструктором копирования, который принимает неконстантную ссылку, из временных объектов?
Фон такой:
У меня есть функция, которая должна возвращать список указателей на объекты, унаследованные от Base, поэтому мне...
835 просмотров
schedule
16.10.2022
Создание временного объекта
Кто-нибудь знает, можно ли включить любой вид ведения журнала на любом компиляторе, совместимом с С++ (Visual Studios, g++ и т. д.), чтобы я мог обнаруживать, когда создаются временные объекты?
Например:
Допустим, у меня есть функция f(char x)...
211 просмотров
schedule
08.01.2023
Каково объяснение исключений временного увеличения времени жизни объекта при привязке к ссылке?
В 12.2 стандарта C ++ 11:
Временный объект, к которому привязана ссылка, или временный объект, являющийся полным объектом подобъекта, к которому привязана ссылка, сохраняется в течение всего времени существования ссылки, за исключением:...
409 просмотров
schedule
20.03.2023
Почему операторы стандартной библиотеки C++ принимают rvalue?
Когда я запускаю следующий код:
std::string myString = "I'm a string.";
const std::string::iterator &myIterator = ++myString.begin();
char c = *myIterator;
std::cout << c << std::endl;
Я получаю ошибку сегментации (компиляция...
116 просмотров
schedule
10.09.2023
C++17 и эталонное расширение статического временного срока службы
У меня есть код, который пытается выполнить своего рода одноэлементный полиморфизм, например:
// header
struct B
{
virtual ~B() = default;
virtual void F() = 0;
static const B& Type1;
static const B& Type2;
};
// cpp...
127 просмотров
schedule
19.04.2023
Срок службы временного объекта, переданного по ссылке в функцию
Да, подобные вопросы задавались и раньше, но они не были точно такими же (или, по крайней мере, предоставленных ответов мне было недостаточно).
Мой общий вопрос: каков срок жизни временного объекта, созданного при вызове функции?
Код:...
20 просмотров
schedule
07.12.2022
Проблема с константными ссылками и временными объектами
Из C++ Primer я понял, что когда я привязываю константную ссылку к неконстантному объекту, ссылка привязывается к временному объекту, значение которого является неконстантным объектом.
int a = 1;
const int &b = a;
a = 2;
std::cout<<b;...
73 просмотров
schedule
18.12.2022
Почему конструктор копирования не работает, когда я возвращаю автоматическую переменную из функции?
В приведенном ниже примере я хочу выяснить, почему конструктор копирования не вызывается, когда я возвращаю автоматическую переменную из функции doit(). Я понимаю, что первая версия обработчика вызывается, потому что у нас есть временный объект, но...
40 просмотров
schedule
10.10.2023
Где хранятся временные объекты?
Правда ли, что временные объекты хранятся в динамической памяти (куче)?
3670 просмотров
schedule
11.12.2023
назначение и инициализация ссылки из временного
допустим у меня есть следующее:
boost::unordered_map< string , someValueType > map;
someValueType& value = map[ "key" ] = someValueType();
последняя строка содержит:
временно построенный экземпляр someValueType
назначение...
122 просмотров
schedule
15.05.2024