C++

1.  双精度变量与0的比较:

const double eps = 0.000000001; double a = 0.00000000001; double b = 0.000000002; if (a >= -eps && a <= eps) // if(a <= -eps || a >= eps) cout << "a == 0" << endl; else cout << "a != 0" << endl; if (b >= -eps && b <= eps) cout << "b == 0" << endl; else cout << "b != 0" << endl;

2. 参数列表、初始化列表:

.h: class Complex { public: //外部接口 Complex(double real=0.0, double imag=0.0); //另外,带有默认值参数应放在列表的最右端 //Complex(double real, double imag=0.0) private: //私有数据成员 double real; //实部 double imag; //虚部 } .cpp: //带有默认值参数的函数,在实现的时候,参数上是不能有值的 error: Complex::Complex(double real=0.0, double imag=0.0){...} //另外,只有构造函数能使用初始化列表,其在构造函数执行前执行 Complex::Complex(double real, double imag) :real(real), imag(imag){}

3. 重载单目运算符(一元运算符)++ 、--:

  前置与后置的区分:(1)后置带有整型形

(2)前置返回计算后的值,后置返回计算前的值。

 

4. 重载赋值运算符‘=’:

  (1)首先,需要进行是否是自我赋值操作的验证;

  (2)其次,要释放左操作数的资源:

      方法1 先保存原来的资源,等重新分配资源完成以后再释放以前的资源),

      方法2 采用copy and swap技术;

    (3)返回类型,为了具有连续赋值的效果,一般都返回引用类型。

5. new / delete 和 malloc / free 的区别:(参考https://blog.csdn

原文链接: https://www.cnblogs.com/lq19980501/p/12350130.html

欢迎关注

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

也有高质量的技术群,里面有嵌入式、搜广推等BAT大佬

    C++

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

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

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

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

(0)
上一篇 2023年3月1日 下午5:57
下一篇 2023年3月1日 下午5:57

相关推荐