美文网首页
c++注意点

c++注意点

作者: __若只如初见 | 来源:发表于2019-07-07 18:01 被阅读0次
  1. malloc分配字符串空间时,要长度+1,因为还有字符串结束符/0 eg. this->filePath = (char *)malloc(strlen(filePath) + 1);

  2. 字符串复制,用函数memcpy(this->filePath,filePath,strlen(filePath) + 1); , strcpy是不安全的。

  3. .hpp 头文件中定义,只能做定义操作,不能new ,一些初始化操作应该放在主程序里或者构造函数里。

  4. 函数参数是int * frameDataLength, char ** data 时,调用时,不能直接声明int * 和 char** 传入,因为他们是野指针或者空指针,需要声明int和char *,然后传入&int &char *。

  5. 函数中,给函数指针参数赋值时,不能赋值指针:data=&data2。因为每次执行函数,参数变量是新建的,指针只是指向与函数外的变量相同data=&data2,只把函数内的指针指向改了,函数外的指针变量并没有改变。所以需要*data = data2,把地址里的数值修改了,函数外部也能收到变化。

  6. 正常情况下,return 0,异常情况,return 负数
    0 表示false,非0 表示true

  7. 往某字符串后面拷贝:
    memcpy(allFrame, fileFrameArr, sizeof(ZSVideoFileFrame));
    memcpy(allFrame + sizeof(ZSVideoFileFrame), data, frameDataLength);

  8. linux下运行抛出异常:Floating point exception(浮点数异常)

    • 高版本编译的gcc库,在低级gcc下运行;
    • 非法运算,如分母为0等;(首先检查该项,是否有分母为零的情况,如文件路径不正确,由于找不到图片,给出图片总数为0,但内部运算了识别率等用到该图片数作为分母的情况)
  9. 写完程序先检查释放资源 new malloc 是否delete free

  10. 写完程序最好用工具检查内存增长情况

  11. 如果data 声明为char * data,没有明确分配内存, 会成为一个野指针,代码会core
    char * data = (char *)malloc(1000);
    if(fread(data, sizeof(char), 1000, h264VideoFile)){...

  12. free的时候,如果char * 没赋值,也没赋NULL,会core,因为时野指针,指向的位置安全性未知

  13. free标准代码
    if(dataP != NULL){
    free(dataP);
    dataP = NULL;
    }

  14. 变量没初始化,值是那片内存原始值,一个神奇的值。没初始化,做比较大小或者其他操作,很容易出现问题。(正确地初始化变量是一种好的编程习惯,否则程序会产生意想不到的结果)

相关文章

  • c++注意点

    malloc分配字符串空间时,要长度+1,因为还有字符串结束符/0 eg. this->filePat...

  • C++ 变成注意点

    1、";"号的使用: 不加:1)预处理命令后2)函数体定义之后 加:1)using namespace std;2...

  • C++代码注意点

    C++带默认参数的函数的声明、定义及使用总结 默认参数不能在声明和定义中同时出现. 声明是用户可以看到的部分,客户...

  • 2018-09-17

    c++中需注意的点 c++ sort函数在类内使用是,第三个参数也就是cmp函数若写在类内必须加static;le...

  • QML Book 第十五章 Qt 和 C++ 1

    15.Qt 和 C++(Qt and C++) 本章的作者:jryannel ** 注意: **最新的构建时间:2...

  • C++算术类型

    Tags:C++,《C++ Primer Plus》笔记 一、分类## 见下图,注意以下几点: char16_t,...

  • C++的一些注意点

    关于构造函数之后的冒号: 构造函数后面跟冒号,就相当于:系统创建成员变量并且初始化。也就是系统为成员变量分配了一块...

  • 在Xcode使用C++的若干注意事项

    在Xcode使用C++的若干注意事项 在Xcode下使用C++,需要设置目标C++文件对应相应的编译器。其中,C+...

  • Java程序员学习C++(第一篇)

    1. 数据类型与变量 C++中布尔类型是bool,字符串类型是string 需要注意的点 string 都是 AS...

  • 《C++ Primer Plus》笔记>注意点小结

    小注意点: wcha_t 类型为宽字符类型,能存储较大的字符,相应io需要使用 wcin 和 wcout。 uns...

网友评论

      本文标题:c++注意点

      本文链接:https://www.haomeiwen.com/subject/ewzbhctx.html