Вопросы по теме 'temporary-objects'
Методы цепочки и временные переменные, пожалуйста, уточните
Всем привет!
У меня есть класс, который получает указатель на «круг» (например), а затем настраивает его атрибуты с помощью некоторых методов «цепочки». Что-то вроде этого:
class CCircleSetter
{
public:
explicit CCircleSetter( CCirclePtr...
959 просмотров
schedule
05.11.2023
Как поменять местами более двух переменных, используя временные переменные
Я пытаюсь понять, как поменять местами более двух переменных, используя временную переменную. Есть 4 переменные, которые нужно поменять местами, 1,2,3 и 4. Первая переменная - поменять местами 2, 2 - 3, 3 - 4 и 4 - 1. Это кажется достаточно простым,...
3875 просмотров
schedule
16.06.2022
шаблонная строка оператора() не будет компилироваться, когда временный объект
Кто-нибудь знает, почему последняя строка в main не компилируется (обратите внимание, что компиляция не выполняется):
template <typename TT> inline TT getAs();
template <> string getAs() { return "bye"; }
template <>...
90 просмотров
schedule
24.02.2023
C++ продолжительность жизни временного объекта, переданного в конструктор
У меня есть класс, который принимает ссылку istream в конструкторе. Если конструктору передается временный объект, такой как myclass obj(ifstream("filename")); , будет ли этот ifstream полезен для жизни obj ? Зависит ли это от того, присвоено ли...
229 просмотров
schedule
22.08.2022
Почему я все еще могу получить доступ к ссылке на временный объект?
const std::string& f(){
std::string s = "Hello";
return s + s;
}
int main() {
std::string s = "Hello";
std::string& s1 = s + s;
s1 += "!";
std::cout << f();
}
У меня есть несколько вопросов об этом коде,...
76 просмотров
schedule
07.11.2023
Увеличивается ли время жизни временного объекта C ++, созданного в выражении?:, Путем привязки его к локальной константной ссылке?
Мне неясно, будет ли увеличено время жизни временного объекта путем привязки его к константной ссылке в выражении?::
class Foo {...};
Foo *someLValue = ...;
const Foo& = someLValue ? *someLValue : Foo();
Увеличивается ли время жизни...
266 просмотров
schedule
09.05.2023
Что происходит со ссылочной переменной, когда ее ссылка «умирает»?
Допустим, я создаю класс с именем MyClass , который содержит ссылочную переменную m_my_resource. Эта ссылочная переменная, по сути, является просто именованным псевдонимом, связанным с какой-то другой ячейкой памяти.
Мои занятия
class...
130 просмотров
schedule
03.08.2022
Заявление, которое не является полным выражением
Часто можно услышать, что в C++ временные объекты деконструируются в конце полного выражения . Полное выражение определяется как выражение, которое не является подвыражением какого-либо другого выражения. Для меня это звучит очень похоже на...
257 просмотров
schedule
03.06.2023
Время жизни временного объекта, захваченного по ссылке в замыкании, хранящемся в классе
Рассмотрим следующий фрагмент кода:
struct foo { };
template <typename F>
struct impl : F
{
impl(F&& f) : F{std::move(f)} { }
auto get() { return (*this)(); }
};
template <typename X>
auto returner(X&& x)
{...
237 просмотров
schedule
02.02.2022
Константный параметр ссылочной функции: можно ли запретить временные объекты?
Возможно иметь параметр функции, который обеспечивает следующую семантику:
Параметр не будет изменен функцией. Вызов функции никогда не создает копию или временный объект для параметра.
Пример:
void f(const std::string & str);...
58 просмотров
schedule
18.07.2023
Лямбда захватывает ссылку rvalue по ссылке
Является ли приведенный ниже код стандартным? ( богболт )
т.е. by-ref захватывает ссылку пересылки, представляющую временную, и возвращает результирующее лямбда-значение из функции в том же выражении .
Конечно, сохранение лямбды для...
525 просмотров
schedule
01.12.2023
Срок действия и / или продление времени жизни mem-инициализатора при агрегированной инициализации
CWG 1815 спросила (с небольшими изменениями):
struct A {};
struct B { A&& a = A{}; };
B b1; // #1
B b2{A{}}; // #2
B b3{}; // #3
[...] #2 - это агрегированная инициализация, которая связывает B::a с временным...
66 просмотров
schedule
22.02.2023