• c++犯过的错


    1、可访问性(是否可用)、可见性(作用域内是否存在)

    2、volatile(嵌入式用的多) const

    3、友元函数可以访问类的私有函数 目的 工厂方法 全局运算符 如 >> << () ||

    4、static const 类定义时即可初始化

    5、复制构造函数 赋值运算符 目地 复杂类型、指针类型的复制

    6、转换构造函数 一个参数的构造函数

    7、explicit 防止隐式类型

    8、 const  在函数前则返回值是const的,在函数后,则函数里的值不可变,如果有修改变量,可以在这个变量的声明出加mutable

    9、命名规范 

    空行 {} 就近原则

    分号后可以加空格 二元操作符的空格 前后都加,一元操作符可以不用

    拆行时 操作符放在行首 *&紧靠变量名

    10、c++ new分配的在堆,其它的在栈

    11、c++ 宏用”#”号连接

    12、++在后面时返回原时值,循环的表达式里有取余,或类似操作时要注意

    13、取余要注意负数问题

    14、左值是一个位置,右值是一个值

    15、有符号数的右移位 不是可移植的

    16、变量名与内存位置之间的关联并不是硬件提供,由编译器实现。硬件仍然通过地址访问内存位置

    17、c语言只有传值方式,所以要用指针的指针

    18、指针的初始化用&操作符,变量的值就是分配给变量的内存位置所存储的数值

    19、访问指针地址所指内容 可以间接访问,或用解引用指针 *

    20、segmentation violateion / memory falut  指针未初始化 gpf 一般保护性异常 bus error 总线错误 指针超边界

    21、访问内存地址 *(int *)100 = 25 内存100地址处的值设为25

    22、状态码和错误码分开

    23、逻辑上可以处理的异常用错误码,否则抛出异常

    24、初始化的先后顺序

    25、stl set 一般用来保存不可变的元素,在vs2010以上版本里 setiterator都是const

    26、某个数x的后i位  x%(10^i)

    27、链式调用时要检查每一项的值是否存在

    28、function argument expected 可能是函数名后没见()

    29、无符号数减始终是无符号数,用a-b>0 来判断始终为真

    30、malformer number near 非英文字符

    31、unexpected symbol near “=”  结果是a=b后面一大段空白之后又跟着一个 =b

    32、把一行过长的代码切割成多行,方便查错

  • 相关阅读:
    Ax+By+C=0 直线一般式拟合 c++/python
    win7结束进程 时,提示“拒绝访问”、“没有此任务的实例运行” taskkill 结束不了进程
    Keras神经网络转到Android可用的模型
    Keras深度神经网络训练IMDB情感分类的四种方法
    解决win7 word 2016中不能加载EndNote x7
    Google Coral Dev Board
    pydot` failed to call GraphViz.Please install GraphViz
    使用可视化图表对 Webpack 2 的编译与打包进行统计分析
    webpack 多环境配置
    格式化时间
  • 原文地址:https://www.cnblogs.com/xdao/p/cpp_tips.html
Copyright © 2020-2023  润新知