![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
Enstein_Jun
与其等待未来,不如创造未来
展开
-
C++ const成员函数
我们在写c++类或者阅读一些c++代码的过程中, 我们会遇到这种情形:我们会发现在成员函数的形参列表之后还紧跟一个const, 但是对其的含义一知半解。 #include #include class Case{ public: Case(char *s):content(s){} void test_const() const{ std::cout原创 2018-01-31 20:24:48 · 474 阅读 · 0 评论 -
C++委托构造函数
在c++11中有一个新特性,就是委托构造函数。委托构造函数可以使用当前类的其他构造函数来帮助当前构造函数初始化。换而言之,就是可以将当前构造函数的部分(或者全部)职责交给本类的另一个构造函数。 我们先看看委托构造函数与普通构造函数的相同点与不同点。相同点: 两者都有一个成员初始值列表与一个函数体 不同点: 委托构造函数的成员初始值列表只有一个唯一的参数,就是构造函数(...原创 2018-02-20 22:20:11 · 5985 阅读 · 1 评论 -
求平均值,防止溢出(只针对整数)
今天看到有人讨论C/C++中求平均数溢出的问题。于是我便仔细的思考并查找相关资料。我们很容易发现 (a +b) / 2, 溢出的来源是加法可能产生进位运算,那么我们只要想办法避免进位运算就可以了。 因为要避免进位我们很自然的就可以想到位运算。我们可以将a, b分为两个部分(从二进制的角度来看),一个是相等的公共部分,另一个则是不相等的部分。我们可以发现计算平均数的进位主要...原创 2018-03-09 09:12:22 · 2859 阅读 · 0 评论 -
获取C++数组长度小技巧
利用C++的泛型编程,我们可以想到一个获取数组长度的小技巧。代码如下:#include <iostream> typedef unsigned array_size; template <typename Type, array_size length> array_size array_length(const Type (&arr)[length]){...原创 2018-03-12 10:33:06 · 838 阅读 · 0 评论