有保证的副本省略与函数参数一起工作吗?
Does guaranteed copy elision work with function parameters?

如果我理解正确,从C ++ 17开始,此代码现在要求不做任何复制:Foo myfunc(void){return Foo(); } auto foo = myfunc(); //没有副本功能也是如此......

智能指针,懒洋洋地重新创建其资源
Smart pointer that lazily recreates its resource

我有一个ServiceProvider类,它包含几个指向不同服务的指针,如下所示:class ServiceProvider(){Service3 * GetService3(); public:void Process(Object * o); ...

IDisposable对象的依赖注入和生命期
Dependency injection and life time of IDisposable objects

我正在尝试开发一个使用依赖注入方法的库(使用Ninject),并且由于我的设计不正确,我可能会产生一些混淆。 总之,我的设计方法是A ...

通过const引用临时生活的延伸
Life extension of temporary by const reference

C ++我试图看看const引用如何延长临时对象的生命周期。 我正在运行代码片段中的一个答案指针变量和...之间的区别是什么...

是否将一个对象的方法传递给另一个对象使第一个对象保持活动状态?
does passing a method of one object to another object keep the first object alive?

假设我有三个对象:'a','b'和'c'。 对象'a'和'c'是长期存在的,静态引用的服务单例。 对象'b'是短暂的,即没有静态引用保持活着。 现在......

创建未知数量的对象,每个对象在运行时c ++都有特定的对象名称
Creating unknown number of objects with each having specific object name at runtime c++

我想在运行时在main方法内创建一个未知数量的对象,每个对象都有一个特定的对象名称。 对象应该存在,直到程序结束(main-method结束)。 注意 ...

在Web应用程序中,Redis的最佳对象生命周期策略是什么?
What is the best object lifetime strategy for Redis in web application

我将计划使用Redis(ServiceStack)作为Web应用程序的整个数据库。 我可以在7.4秒内插入76000条记录。 但使用单一连接(RedisClient对象 - 生活时间是应用程序),我...

调用〜Derived()和〜Base()之间的对象状态
The state of an object between a call to ~Derived() and ~Base()

问题C ++标准在派生类的析构函数执行之后但在基类的析构函数执行之前保证了对象状态的时间? (这是...

在D中,对象是否可以在内部保存成员对象?
In D, is it possible for an object to hold a member object internally?

在D中,可以使用范围在堆栈上分配类,即void foo(){scope example = new Bar(); }现在,如果Foo类拥有Bar类作为成员,有什么方法可以将Bar存储在-...中。

可以为std :: aligned_storage memcpy?
can memcpy for std::aligned_storage?

std :: aligned_storage :: type是POD类型。 POD类型可以使用memcpy。 但是,如果将新的非平凡可复制类型放置到std :: aligned_storage会发生什么? 它可以memcpy该std :: aligned_storage? 非-...

关于其目标的参考资料的有效期
The lifetime of a reference with regard to its target

为了阻止我最近给出的答案的评论中发生的争论,我想对以下问题提出一些建设性的答案:参考的生命周期与目标是否有区别...

这是一个正确的使用临时std ::字符串?
Is this a proper use of a temporary std::string?

std :: string getMyString(){return <make a string>; } ... HANDLE something = OpenSomething(getMyString()。c_str(),...); 我读过C ++中的临时保证生命周期,我相信...

在C ++中绑定多个引用的临时生命周期
The lifetime of a temporary to which several references are bound in C++

C ++标准草案N4296说[class.temporary / 5]第二个上下文是当一个引用绑定到一个临时的时候。 引用被绑定的临时性或临时性的...

在C ++中调用临时对象的析构函数的顺序是什么?
What is the order of calling destructors for temporaries in C++?

考虑下面的代码:#include <iostream> struct A {〜A(){std :: cout <<“〜A”<< std :: endl; }}; struct B {〜B(){std :: cout <<“〜B”<< std :: endl; }}; ...

从临时变量返回的引用是否有效?
Is a reference returned from a temporary variable valid?

我遇到过一种情况:能够将方法调用链接到临时变量会非常有用:draw(Quad(0,0,1,1).rotate(90)); // < - .rotate()返回一个Quad引用...

通过加入析构函数等待异步工作是否安全?
Is it safe to wait for asynchronous work by joining in the destructor?

假设我有一个类可以异步运行一些代码,并且异步代码使用该类实例来执行诸如调用成员函数,读取数据成员等等。显然,类...

在libc ++中没有std :: min的悬挂引用
No dangling reference for std::min in libc++

将std :: min的结果绑定到一个const引用是一个非常不好的想法,只要std :: min的参数之一是一个右值,因为const引用绑定是.. 。

这个C ++临时绑定到引用成员应该是非法的吗?
Should this C++ temporary binding to reference member be illegal?

我的问题(后面将会介绍,对于长介绍感到抱歉,问题在下面以粗体显示)最初是受Herb Sutters Exceptional C ++中第23项的启发,我们在其中找到了...

警告C4172:返回一个绑定到局部变量的const std :: string引用。
Warning C4172: Returning a reference to const std::string bound to a local variable. How safe is it?

我只是在工作中建立了一个项目,并且看到添加了一个新函数:const std :: string&ClassName :: MethodName()const {return“”; }编译器给出警告:Warning ...

__del__方法在python中被调用时,它不是预期的
__del__ method being called in python when it is not expected

我是python的新手,一直在Swaroop CH的“Python的一个字节”的例子中工作。 我看到一些令我困惑的__del__方法的行为。 基本上,如果我运行...

C ++使用对正在定义的变量的引用
C++ Using a reference to the variable being defined

根据标准,以下代码是否为有效的C ++(折扣... s)? bool f(T&r){if(...){r = ...; 返回true; }返回false; } T x =(f(x)?...

在评估函数返回值之前或之后,本地人是否被销毁?
Are locals destroyed before or after evaluation of a function return value?

我想创建一个代表同步原语的所有权的类,如下所示:class CCriticalSectionLock {public:CCriticalSectionLock(CCriticalSection&cs ...

可以通过realloc安全地重新分配可复制对象的存储吗?
Can the storage of trivially copyable objects be safely reallocated with realloc?

我知道可以复制的对象可以安全地将我的malloc复制到适当的存储位置1,并且目标对象将具有与源相同的值。 这也是...

不是最重要的常量......但这是什么?
NOT the most important const.. but what is this?

这输出F〜但我期待〜F #include <iostream> struct Foo {int _x; 运算符const int&()const {return _x;}〜Foo(){std :: cout <<“〜”;}}; void foo(...

临时绑定到C ++标准中的成员生命期声明有什么意义?
What's the point of temporary bound to a member lifetime statement in C++ Standard?

在这个问题中,用户Happy Mittal引用了C ++ 03标准的第12.2.5节:在构造函数的ctor-initializer(12.6.2)中引用成员的临时绑定持续存在,直到构造函数退出。 ...

在Delphi中安全的方式来分发与其生命周期相关的界面对象?
Safe way in Delphi for a Form to distribute interface objects tied to its lifetime?

我有一个Delphi窗体,提供了一个接口对象的功能,其他部分的代码也通过属于窗体的属性获取引用。 我无法委托界面...

.NET:确定对象是否有任何引用的方法?
.NET: Way to determine if object has any references to it?

问:有没有办法找出对象是否有任何“强烈的引用”? Raymond Chen暗示可能有解决方案:您想知道引用计数是零还是......

获取物体处理/销毁的通知
Get notification of object disposal/destruction

我需要一种方法来跟踪各种类的实例,而这些类没有任何知识,他们正在被跟踪。 从本质上讲,我有一个类工厂,它创建实例并交给他们......

以逗号分隔的表达式调用析构函数
Destructor call in a comma-separated expression

考虑下面的示例程序:#include <iostream> using namespace std; struct t {〜t(){cout <<“destroyed \ n”; }}; int main(){cout <<“test \ n”; t(),cout&...

防止临时延长其寿命?
Prevent temporary from extending its lifetime?

这可能是不可能的,但我想知道是否有可能暂时保持它的原始表达。 我有一个指向父对象的对象链和一个成员...

函数调用中的隐式析构函数执行
Implicit destructor execution in function calling

我想知道这个标准对于下面这段代码的看法。 在调用printPointer之前,可以执行临时对象的字符串析构函数吗? PS VS2010编译器不抱怨...

如何延长本地变量的生命周期或使用引用的正确方式
How to extend lifetime of the local variable or what is right way to use references

我正在开发一些课,并且为这个问题碰碰运气。 考虑我有以下类:struct A {int * p; A(){p = new int(1); cout <<“ctor A”<< endl; ...

将“this”指针传递给析构函数中的其他类/函数
Passing the "this" pointer to other class/function in destructor

在某些主对象的析构函数中在堆栈上创建工作对象并将主对象的此指针传递给辅助对象是合法的C ++吗? 辅助对象也会......

将临时对象移动到矢量中
Moving temporary objects into a vector

#include <iostream> #include <实用程序> #include <vector> int i = 0; struct A {A():j(++ i){std :: cout <<“constructor”<< j << std :: endl; } ...

在构造函数中的const int ref可以安全地绑定到文字上吗?
Can a const int ref in a constructor safely bind to a literal?

我知道标准有一个关于延长临时对象的生命周期的例外,基本上说,在构造函数中绑定一个const引用不会延长生命期,但是这也适用于...

谁在.NET中拥有包装流(例如TextWriter)?
Who owns wrapped streams (e.g. TextWriter) in .NET?

我最近遇到错误“ObjectDisposedException:无法访问封闭的流”[ObjectDisposedException:无法访问封闭的流。] System.IO.MemoryStream.Write(Byte [] buffer,...

Android - 是onDestroy应该破坏活动,它的变量和释放内存
Android - is onDestroy supposed to destroy the activity, its variables and free up memory

我的代码中存在一个错误,这让我认为我没有完全理解Android生命周期。 是的,我已阅读所有文档并查看了图表,但他们似乎只谈及何时保存数据,......

c ++依赖注入:对象的生命周期?
c++ Dependency Injection: Object lifetimes?

我来自C#并试图将我的一些实践转化为C ++。 我在使用原始指针的代码中的各个地方使用了依赖注入。 然后我决定替换原始的...

为什么变量不够长?
Why does the variable not live long enough?

考虑这个函数应该返回给定路径的文件扩展名。 pub fn get_extension(path:&'a Path) - > Option <&'a str> {let path_str = path.as_str()....

绑定到函数参数的引用是否会延长该临时的生命周期?
Will a reference bound to a function parameter prolong the lifetime of that temporary?

我有这个代码(简化版):const int&function(const int&param){return param; } const int&reference = function(10); / /使用参考我不能决定...

是否销毁和重新创建一个对象使得这个对象的所有指针都无效?
Does destroying and recreating an object make all pointers to this object invalid?

这是这个问题的后续行动。 假设我有这样的代码:class Class {public virtual method(){this->〜Class(); new(this)Class(); }}; Class * object = new ...

Qt对象的生命周期
Lifetime of Qt Objects

Qt Objects的生命周期是什么? 如:QTcpSocket * socket = new QTcpSocket(); 套接字将被销毁? 我应该使用删除套接字; 有什么区别:QTcpSocket套接字; ...

为什么在返回字符串的函数上调用std :: string.c_str()不起作用?
Why does calling std::string.c_str() on a function that returns a string not work?

我有以下代码:std :: string getString(){std :: string str(“hello”); 返回str; } int main(){const char * cStr = getString()。c_str(); std :: cout << cStr << std:...

扩展临时的生命周期,使用块范围的聚合,但不通过`new`;
Extending temporary's lifetime, works with block-scoped aggregate, but not through `new`; why?

注意:这个问题最初是作为Ryan Haining对此答案的评论而提出的。 struct A {std :: string const&ref; }; //(1)A {“hello world”}; //暂时的一生...

在调用析构函数之前对象的生存期结束了?
Lifetime of object is over before destructor is called?

我不明白这一点:3.8 / 1“T类型对象的生命期在以下情况下结束: - 如果T是具有非平凡析构函数(12.4)的类类型,则析构函数调用将启动,或者 - 存储器。 ..

为什么在这个例子中使用PerThreadLifetimeManager?
Why is PerThreadLifetimeManager used in this example?

我正在关注下面链接的示例,以便设置统一使用我的服务层。 我的项目设置与本文中的非常相似,我了解除了为什么之外的所有内容......

C ++迭代器的生命周期和有效性是什么?
What is the lifetime and validity of C++ iterators?

我打算实施C ++中的东西列表,其中的元素可能会被乱序删除。 我不希望我需要任何形式的随机访问(我只需要定期扫描列表),...

MEF保留NonShared IDisposable部分的参考,不允许由GC收集它们
MEF keeps reference of NonShared IDisposable parts, not allowing them to be collected by GC

我在MEF的部分生命周期中遇到了一些问题,导致我的Prism应用程序出现内存泄漏。 我的应用程序导出视图和视图模型的PartCreationPolicy设置为...