Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual c++ 如何使用构造函数检测对象的calloc/malloc-c++;_Visual C++_Constructor_New Operator_Code Analysis_Calloc - Fatal编程技术网

Visual c++ 如何使用构造函数检测对象的calloc/malloc-c++;

Visual c++ 如何使用构造函数检测对象的calloc/malloc-c++;,visual-c++,constructor,new-operator,code-analysis,calloc,Visual C++,Constructor,New Operator,Code Analysis,Calloc,我们有一个遗留C代码的大型应用程序,大部分重命名为.cpp,而不是.C。这段旧代码使用了旧C时代分配给calloc的各种结构。有些结构已经添加了构造函数,或者现在包含了带有构造函数的类 希望我们能找到calloc的所有用途,并将其转换为“新的”,但有些总是会漏掉。是否有编译器警告(我们使用VisualStudio)或静态分析工具可以在编译时发现这些问题?e、 g struct A { std::vector<int> needsToBeConstructed;

我们有一个遗留C代码的大型应用程序,大部分重命名为.cpp,而不是.C。这段旧代码使用了旧C时代分配给calloc的各种结构。有些结构已经添加了构造函数,或者现在包含了带有构造函数的类

希望我们能找到calloc的所有用途,并将其转换为“新的”,但有些总是会漏掉。是否有编译器警告(我们使用VisualStudio)或静态分析工具可以在编译时发现这些问题?e、 g

struct A
{
    std::vector<int>     needsToBeConstructed;
    int otherStuff;
}
...

A* problem = (A)calloc(sizeof(A)); // be nice to get a warning
A* correct = new A(); // should be ok
结构A { std:需要构建的载体; 其他东西; } ... A*问题=(A)calloc(sizeof(A));//很高兴得到警告 A*正确=新A();//应该可以
我在google&MSDN上搜索了一下,找不到任何明显的东西。

你能不能用regex把它们都找出来?替换它们?我们还有几百个其他的结构,我们希望继续使用calloc。我们也不知道哪些对象使用构造函数变量,哪些不使用,尤其是当对象在对象中时。