![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c/c++
早起的虫儿有鹰吃
个人邮箱:291495108@qq.com
电话:13548188223
linux内核内存,docker,虚拟化,c++,python
展开
-
operator []重载函数
今天在看书时发现了一个有意思的地方:class TextBlock{public: TextBlock(string st) { text=st; } char& operator[](size_t position) { return text[position]; }private: s原创 2017-05-23 01:53:35 · 333 阅读 · 0 评论 -
c++类几个特殊成员的初始化问题
static:除了const int a这一种能在类中定义和初始化,其他必须在类中定义,类外初始化如下:class A{ private: static T s;};T A:: s=...;const:const 除了const int a类型能在类中定义和初始化,其他必须在构造函数初始列表中初始化比如:class A{ private:原创 2017-05-23 01:33:52 · 272 阅读 · 0 评论 -
什么函数不能申明为虚函数
只需要记住可以声明成虚函数的就行!(普通的成员函数或析构函数)虚函数的使用原则:可以把public或protected的部分成员函数声明为虚函数;其他特别的函数不能被申明为虚函数的原因:1.普通函数(不能被覆盖)2.友元函数(C++不支持友元函数继承)3.内联函数(编译期间展开,虚函数是在运行期间绑定)4.构造函数(没有对象不能使用构造函数,先有构造函数后有虚函数,虚函数是对原创 2021-04-12 17:13:29 · 141 阅读 · 0 评论 -
内存移动或复制
函数原型:void* memmove(void *dst,const void *src,size_t len)功能:由src所指的内存区域复制count个字节到dst所指内存区域说明: 1.用void *是因为任何类型的指针都可以对他赋值。因为是按字节移动的,所以函数内部可将其转化为char *地址做赋值和运算处理(void *指针不能做取值或++,--等运算) 2.为了原创 2017-06-11 17:43:16 · 323 阅读 · 0 评论 -
c/c++中或获取数组长度的函数
在c/c++中由于数组作为函数参数传递时会退化为指针,所以在进行数组长度计算时具有一定难度。常用的两种技术有:一.宏定义: #define GET_ARRAY_LEN(array,len){len=sizeof(array)/sizeof(array[0]);}二.模板技术: template int getsize(T &array) { return原创 2017-06-20 01:42:25 · 6474 阅读 · 1 评论 -
看C语言编码转换--------负数的二进制表示方法
今天在看C语言编码转换时,既然对负数的二进制表示有些遗忘,查了下网上的资料,他们说的是个P!误人子弟!和大家讨论了下,贴出来已备在此遗忘:假设有一个 int 类型的数,值为5,那么,我们知道它在计算机中表示为:00000000 00000000 00000000 000001015转换成二制是101,不过int类型的数占用4字节(32位),所以前面填了一堆0。现转载 2017-04-27 02:25:18 · 2519 阅读 · 0 评论 -
int和unsigned int解析和扩展
就如同int a;一样,int 也能被其它的修饰符修饰。除void类型外,基本数据类型之前都可以加各种类型修饰符,类型修饰符有如下四种:1.signed----有符号,可修饰char、int。Int是默认有符号的。2.unsigned-----无符号,修饰int 、char3.long------长型,修饰int 、double4.short------短型,修饰int我们转载 2017-04-27 02:04:47 · 331 阅读 · 0 评论 -
new关键字小tips
1、new当个对象new在自由空间分配内存,但其无法为其分配的对象命名,因次是无名的,分配之后返回一个指向该对象的指针。1int*pi = newint; // pi指向一个动态分配的,未初始化的无名对象此new表达式在自由空间构造一个int类型对象,并返回指向该对象的指针。翻译 2017-04-27 01:50:56 · 330 阅读 · 0 评论 -
柔性数组
一般来说,结构中最后一个元素允许是未知大小的数组,这个数组就是柔性数组。但结构中的柔性数组前面必须至少一个其他成员,柔性数组成员允许结构中包含一个大小可变的数组,sizeof返回的这种结构大小不包括柔性数组的内存。包含柔数组成员的结构用malloc函数进行内存的动态分配,且分配的内存应该大于结构的大小以适应柔性数组的预期大小。柔性数组到底如何使用?不完整类型C和C++对于不完整类型翻译 2017-05-17 02:05:34 · 324 阅读 · 0 评论 -
inline函数
先给出一到判断题:inline函数表示编译器一定会将函数体直接插入到调用此函数的地方,这样可以加快程序的运行速度,上面说法是否正确.答案是false。为什么呢?下面给出解释:首先我们要明白内联函数提出的原因及意义。下面使用c++primer中文版第四版(P221)中的例子详细解释一下。//定义了查找更短字符串的函数1234co原创 2017-05-11 02:35:39 · 407 阅读 · 0 评论