【C++】默认实参的定义,malloc改成new

1.默认实参的定义

C++中,默认实参只能在声明和定义其中之一定义,否则重复定义。尽量在声明(头文件)中定义,这样其他文件调用该函数的时候,可以使用默认实参。

如下所示:

头文件log.h中声明如下:

void __declspec (dllexport) log_int_string(const char* pre,const int num,const char* aft="");

源文件log.cpp中定义如下:

void log_int_string(const char* pre,const int num,const char* aft)
{
outfile.open("C:\\log.txt",ofstream::app);
outfile<<pre<<num<<aft<<endl;
outfile.close();
}

2.malloc、free改成new、delete

程序原来在循环中使用malloc和free,进行多次动态内存分配和释放。在经理的笔记本上(XP系统)上运行的时候会出现错误,malloc出来的内存地址不能为read。但是,在我的台机(win7)上没有问题。

改成new、delete来进行内存分配和释放之后,问题就解决了。怀疑是C++中malloc动态分配的空间是“自由存储区”,这块存储区有大小限制或着在XP下有bug。。。

原文链接: https://www.cnblogs.com/particle/archive/2012/09/19/2686524.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

    【C++】默认实参的定义,malloc改成new

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/63211

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月9日 上午10:49
下一篇 2023年2月9日 上午10:49

相关推荐