小编dic*_*rio的帖子

为什么类的析构函数被调用两次?

抱歉,如果这个问题听起来很愚蠢,我就是在关注SO的专家并亲自尝试一些例子,这就是其中之一.我确实尝试了搜索选项,但没有找到这种答案.

class A
{
    public:
         A(){cout<<"A Contruction"<<endl;}
        ~A(){cout<<"A destruction"<<endl;}
};

int main()
{
    vector<A> t;
    t.push_back(A()); // After this line, when the scope of the object is lost.
}
Run Code Online (Sandbox Code Playgroud)

为什么类的析构函数被调用两次?

c++ destructor

24
推荐指数
2
解决办法
1万
查看次数

如何在UNIX上使用带有env变量名的特殊字符和目录删除目录名

我在这个存储库中搜索过,我没有找到任何类似的问题或者我的搜索结果不正确.

我在客户端环境中遇到此问题,自定义应用程序正在创建具有环境变量"$ SRCDIR"和"$ HOME"的目录以及创建这些目录的目录,本身就是HOME目录路径.如果我说rm -rf $HOME那么当前目录的$ HOME下的所有文件和子目录都将被删除.如何删除这些不需要的目录.

-rw-r--r--  1 grp domain users 418051450 Apr 18 18:09 $SRCDIR
-rw-r--r--  1 grp domain users 418051450 Apr 18 18:09 $HOME
Run Code Online (Sandbox Code Playgroud)

还有一些目录是垃圾字符,如下例所示.

-rwxr-xr-x  1 grp domain users  0 Feb  7  2106 ??????w?O???*????_6??t??Ó¡?>?tP??Ñ?|?C
Run Code Online (Sandbox Code Playgroud)

我该如何删除它们?

unix linux special-characters

7
推荐指数
3
解决办法
3万
查看次数

在多重继承中使用operator delete时,谁调用类的析构函数

这个问题可能听起来太傻了,但是,我没有找到具体的答案.

对于后期绑定的工作原理以及继承中使用的虚拟关键字知之甚少.

与代码示例一样,在继承的情况下,指向在heap和delete运算符上创建的派生类对象的基类指针用于释放内存,派生和基类的析构函数将仅按顺序调用当基础析构函数声明为虚函数时.

现在我的问题是:

1)当base的析构函数不是虚拟的时,为什么只有在使用"delete"运算符的情况下才会出现不调用派生dtor的问题,为什么不在下面给出的情况下:


derived drvd;
base *bPtr;
bPtr = &drvd; //DTOR called in proper order when goes out of scope.

2) When "delete" operator is used, who is reponsible to call the destructor of the class? The operator delete will have an implementation to call the DTOR ? or complier writes some extra stuff ? If the operator has the implementation then how does it looks like , [I need sample code how this would have been implemented]. …

c++ inheritance

5
推荐指数
1
解决办法
1822
查看次数

Iphone应用程序开发

我非常渴望学习Iphone应用开发.你能否请专家给我一些关于我应该学习哪种编程工具的技巧?工具我应该安装[当然,我更喜欢免费工具]?,我需要的操作系统?[我的个人笔记本电脑上只有windows xp和unix风味].我是否需要使用Iphone来测试我的应用程序?[可怜的家伙,我没有自己的iPhone].

感谢所有回复的人,每条信息都显得非常有用和有用(+1给所有人),我将通过每一个建议

iphone

4
推荐指数
2
解决办法
482
查看次数

如何确保只运行一个应用程序副本?

可能重复:
在Linux上防止多个流程实例

我有多线程应用程序,可以作为deamon进程运行或一次使用输入参数.

我想确保如果应用程序作为deamon进程运行,则不应允许用户再次运行它.

编辑:在你们都建议去寻找鸡群之后,我试了一下并把它放在服务器上.我知道有奇怪的问题,当服务器被退回时,他们会删除所有文件,包括锁定文件:(.现在怎么样?

c linux

3
推荐指数
1
解决办法
671
查看次数

标签 统计

c++ ×2

linux ×2

c ×1

destructor ×1

inheritance ×1

iphone ×1

special-characters ×1

unix ×1