随笔分类 -  C/C++

摘要:在一些实际应用问题中,有些变量的取值被限定在一个有限的范围内。例如一周只有七天,一年只有12个月等,可以把此类变量定义为枚举类型。枚举类型的定义中列举出所有可能的取值,说明为该枚举类型的变量取值不能超过定义的范围。· 注意:枚举类型是一种基本的数据类型,而不是构造类型,因为枚举类型变量只能取一个值, 阅读全文
posted @ 2018-12-28 16:37 eeeeeeee鹅 阅读(8052) 评论(0) 推荐(0)
摘要:关于前置自增与后置自增的区别我是参考这里:http://bbs.bccn.net/thread-454977-1-1.html 简单复述下,比如++x; 与 x++; 在C中,++x这个表达式的值为原先x的值+1,副作用是x的值增加了1;(C++中不是这样定义的,不管它) 在C中,x++这个表达式的 阅读全文
posted @ 2018-12-28 14:58 eeeeeeee鹅 阅读(2061) 评论(0) 推荐(0)
摘要:1、 输出:31 宏定义在替换处展开为:i = 5+5*5+5/(2+2); 于是计算下来,i=30+5/4,所以i=31。 阅读全文
posted @ 2018-11-26 14:21 eeeeeeee鹅 阅读(473) 评论(0) 推荐(0)
摘要:转自:https://blog.csdn.net/zhouxinxin0202/article/details/77862615/ 1、string类函数find C++的string类提供了字符串中查找另一个字符串的函数find。 其重载形式为: string::size_type string: 阅读全文
posted @ 2018-11-12 14:46 eeeeeeee鹅 阅读(39602) 评论(0) 推荐(2)
摘要:1、指针变量指向字符串常量的问题 代码如下: 问p[0]=2;是否可以?原因? 答案:不可以。“123456”是字符串常量,存储在常量区,其值不可更改。 2.sizeof求字符串长度问题 代码: win32编译器输出: 7 1 4 6 sizeof(指针变量)测定的是指针的字节数。strlen计算的 阅读全文
posted @ 2018-11-02 14:11 eeeeeeee鹅 阅读(382) 评论(0) 推荐(0)
摘要:主要区别: 1、内联函数在编译时展开,而宏在预编译时展开。 2、在编译的时候,内联函数直接被嵌入到目标代码中去,而宏只是一个简单的文本替换。 3、内联函数可以进行诸如类型安全检查、语句是否正确等编译功能,宏不具有这样的功能。 4、宏不是函数,而inline是函数 5、宏在定义时要小心处理宏参数,一般 阅读全文
posted @ 2018-10-30 21:13 eeeeeeee鹅 阅读(524) 评论(0) 推荐(0)
摘要:转自:https://blog.csdn.net/flydreamforever/article/details/61429140 在C++中,inline关键字和virtual关键字分别用来定义c++中的内联函数和虚函数,他们在各自的场合都有其各自的应用,下面将简单介绍他们各自的功能,然后在说明为 阅读全文
posted @ 2018-10-27 10:59 eeeeeeee鹅 阅读(1068) 评论(0) 推荐(0)
摘要:代码: 参考:c语言中如何将16进制字符串转化成10进制整数 阅读全文
posted @ 2018-10-26 22:00 eeeeeeee鹅 阅读(5144) 评论(0) 推荐(0)
摘要:代码: 这个函数实现起来较为简单,注意字符指针的有效性检查。 可参考:strlen、strcpy、strcat等字符串处理函数的实现 阅读全文
posted @ 2018-10-26 20:34 eeeeeeee鹅 阅读(1029) 评论(0) 推荐(0)
摘要:转自:strcpy函数的实现 知strcpy函数的原型是: char *strcpy(char *dst, const char *src); 1.strcpy的实现代码 [1]const修饰 源字符串参数用const修饰,防止修改源字符串。 [2]空指针检查 (A)不检查指针的有效性,说明答题者不 阅读全文
posted @ 2018-10-25 21:33 eeeeeeee鹅 阅读(1951) 评论(0) 推荐(1)
摘要:转自:https://blog.csdn.net/baidu_33725271/article/details/69478782 方法一: 利用三重条件运算符 值得关注的是: 1 . 宏定义的变量在引用的时候,用 ()括起来,防止预处理器展开的错误。 2 . (a > b ? action1 : a 阅读全文
posted @ 2018-10-25 21:04 eeeeeeee鹅 阅读(1000) 评论(0) 推荐(0)
摘要:1.属性 new/delete是C++关键字,需要编译器支持。malloc/free是库函数,需要头文件支持。 2.参数 使用new操作符申请内存分配时无须指定内存块的大小,编译器会根据类型信息自行计算。而malloc则需要显式地指出所需内存的尺寸。 3.返回类型 new操作符内存分配成功时,返回的 阅读全文
posted @ 2018-10-08 15:33 eeeeeeee鹅 阅读(1642) 评论(0) 推荐(0)
摘要:转自:C++ vector和list的区别 数据结构的区别 vector vector与数组类似,拥有一段连续的内存空间,并且起始地址不变。便于随机访问,时间复杂度为O(1),但因为内存空间是连续的,所以在进入插入和删除操作时,会造成内存块的拷贝,时间复杂度为O(n)。 此外,当数组内存空间不足,会 阅读全文
posted @ 2018-10-08 09:20 eeeeeeee鹅 阅读(922) 评论(0) 推荐(0)
摘要:转自:转 C++宏定义详解 传送门 C++宏定义详解 一、#define的基本用法 #define是C语言中提供的宏定义命令,其主要目的是为程序员在编程时提供一定的方便,并能在一定程度上提高程序的运行效率,但学生在学习时往往不能 理解该命令的本质,总是在此处产生一些困惑,在编程时误用该命令,使得程序 阅读全文
posted @ 2018-08-22 16:19 eeeeeeee鹅 阅读(389) 评论(0) 推荐(0)
摘要:转自:C++ vector 容器浅析 一、什么是vector? 向量(Vector)是一个封装了动态大小数组的顺序容器(Sequence Container)。跟任意其它类型容器一样,它能够存放各种类型的对象。可以简单的认为,向量是一个能够存放任意类型的动态数组。 二、容器特性 1.顺序序列 顺序容 阅读全文
posted @ 2018-08-03 22:48 eeeeeeee鹅 阅读(317) 评论(0) 推荐(0)
摘要:可以用max_element()及min_element()函数,二者返回的都是迭代器或指针。 头文件:#include<algorithm> 1.求数组的最大值或最小值 1)vector容器 例 vector<int> v; 最大值:int maxValue = *max_element(v.be 阅读全文
posted @ 2018-07-22 23:39 eeeeeeee鹅 阅读(70375) 评论(0) 推荐(4)
摘要:可参考: C++中memset函数的用法 C++中memset函数的用法 C++中memset()函数的用法详解 c/c++学习系列之memset()函数 透彻分析C/C++中memset函数 memset()是char型初始化函数。 一. 头文件:<string.h> 或 <memory.h> 二 阅读全文
posted @ 2018-07-20 16:16 eeeeeeee鹅 阅读(13892) 评论(0) 推荐(1)
摘要:结论: 对于没有数据成员的对象,其内存单元也不是0,c++用一个内存单元来表示这个实例对象的存在。 如果有了数据或虚函数(虚析构函数),则相应的内存替代1标记自己的存在。 PS:以下代码均在win32控制台下运行。 e.g.1 运行后输出1。 e.g.2 运行后输出4。 e.g.3 运行后输出4。 阅读全文
posted @ 2018-07-20 15:59 eeeeeeee鹅 阅读(597) 评论(0) 推荐(0)
摘要:malloc函数用法可参考:C语言中 malloc函数用法 及 malloc函数 代码: 找出代码错误之处。 不能通过这样的方式申请动态内存,申请的内存首地址无法通过形参传递出去(形参只做实参的值复制)。 VS2010下运行,出现错误:Run-Time Check Failure #3 - The 阅读全文
posted @ 2018-07-19 22:35 eeeeeeee鹅 阅读(2515) 评论(0) 推荐(0)
摘要:代码: 让找出错误的地方。 先来看下strcpy函数: 使用格式:char* strcmp(char* buffer,char*str)功 能: 把从str地址开始且含有NULL结束符的字符串复制到以buffer开始的地址空间,buffer地址空间中必须有足够的空间来容纳str的字符串。 转自此文 阅读全文
posted @ 2018-07-19 22:09 eeeeeeee鹅 阅读(4801) 评论(0) 推荐(0)