小编Vij*_*jay的帖子

删除后,将C++指针初始化为ZERO?

在C++中,我们使用deleteoperator来在大多数时间删除对象.

delete不会使指针值NULL.有什么方法可以自动实现吗?

例如

int *p = new int;
delete p;  // this should deallocate object pointed by p
           // and also initialized value of p = NULL
Run Code Online (Sandbox Code Playgroud)

c++ pointers memory-management

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

C++需要线程安全的测试容器(非微软)

任何人都有关于线程安全数据容器的想法,比如queue,map?当我们使用/ MT开关进行编译时,我不想要线程安全的STL.

真正的线程安全测试STL容器.

c++ containers multithreading stl

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

为什么以下代码不会产生编译错误?

我正在使用VS2005编译器,我期待以下代码给出编译错误.

int a=1, b= 2, c=3;
a = (b,c);
Run Code Online (Sandbox Code Playgroud)

后赋值的值是3.根据我的理解,它应该给出编译错误.

我很高兴知道这背后是否有任何正当理由.

c++ compiler-errors comma-operator

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

C++想要从基类调用派生函数

我有以下情况

class base
{
public:

   virtual void Accepted(SOCKET s)  //// Event
   {

   }
   void Listner()
   {
          SOCKET acpted;
          Accepted(acpted); /// When I call I want derived class's Accepted() to get called

   }

};


class derived
{
   virtual void Accepted(SOCKET s)  //// Event
   {
         ////// HERE i will write actual implementation (QUESTION)
   }

}
Run Code Online (Sandbox Code Playgroud)

我想调用派生类的函数.这将像这里的事件一样工作.我想通知派生类在基类中发生的事情.

c++ virtual

0
推荐指数
1
解决办法
1352
查看次数

C++编译器错误C2362

代码是这样的

{
   int a;

     if( a == 0 )
     {
          std::string  str("some");
          goto CLEANUP;
     }


return;
CLEANUP: 
     printf("CLEANUP");


}
Run Code Online (Sandbox Code Playgroud)

这给了我错误编译器错误C2362''标签'的初始化被'转到标签'跳过

我移动了std :: string str("some"); int之后; 它仍然给我同样的错误

c++

0
推荐指数
1
解决办法
1335
查看次数

C++使用__COUNTER__自动生成不同的命名函数

我想生成不同的命名函数,用于编写单元测试用例.我想这样做基本上为每个单元测试用例赋予唯一的名称.

我正在使用谷歌测试框架来编写单元测试用例.我必须用来TEST_Macro编写单元测试用例.我想自动为每个单元测试提供递增的数字.

这是我的(非工作)代码:

#include <iostream>
using namespace std;

#define join(x, y) x## y

void join(test, __COUNTER__)()
{
    cout << "\n 1";
}

void join(test, __COUNTER__)()
{
    cout << "\n 2";
}

int main()
{
    cout << "Hello world!" << endl;

     test0() ;
     test1() ;

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

使用生成唯一函数名的正确方法是什么__COUNTER__

c++ macros googletest c-preprocessor

0
推荐指数
1
解决办法
97
查看次数