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】免费获取数百本计算机经典书籍
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/63211
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!