摘要: 【1】如何理解指针?指针,就是地址值。强调一点,计算机世界就是对现实的一种精确模拟。那么,既然是模拟,现实中什么是指针呢?嗯,对了,大概你已经想到了,就是可以等价于你家的门牌号。如果你是一个学生的话,那就是你的座位号;如果你刚买了一座别野(别墅的雅称,其实这个名字更有意义,因为如果人人都住别墅去了的... 阅读全文
posted @ 2012-12-31 18:23 kaizenly 阅读(294) 评论(0) 推荐(0) 编辑
摘要: 【1】String类基本函数如何实现? 示例代码如下: 上面是string类的部分函数实现,具体实现了构造函数,拷贝构造函数,赋值构造函数,析构函数,以及实现了深拷贝的示范。 【2】String类详细实现(原旧版本) 【3】String类详细实现(最新版本)(C++11后) VS2017环境下: G 阅读全文
posted @ 2012-12-31 17:18 kaizenly 阅读(578) 评论(0) 推荐(0) 编辑
摘要: 【1】求字符串长度函数如何实现? (1)第一种实现思想:遍历并计数 方法简述:循环遍历每个元素,直至遇到"\0",计数统计。也是最常用的方法,属于惯性思维。 示例代码如下: (2)第二种实现思想:指针作差运算 方法简述:用最后“\0”的下一个字符指针值减去第一个指针值,再减去“\0”的一个空间 示例 阅读全文
posted @ 2012-12-31 17:07 kaizenly 阅读(777) 评论(0) 推荐(0) 编辑
摘要: 【1】字符串拷贝函数如何实现? (1)第一种设计思想:逐字符拷贝 方法简述:把字符串内容看作字符数组,进行逐个字符拷贝,最后添加结束符 示例代码如下: (2)第二种设计思想:巧借指针 方法简述:逐个遍历,通过指针所指内容进行一一赋值,最后添加结束符。 示例代码如下: (3)第三种设计思想:巧借指针, 阅读全文
posted @ 2012-12-31 16:55 kaizenly 阅读(958) 评论(0) 推荐(0) 编辑
摘要: 【1】字符串连接函数如何实现? (1)思路整理如下: <1> 判断指针的有效性,保证有必要进行下面的工作。【意识到位】<2> 借用临时指针。因为将来要返回首地址,所以现在只有另借操作把柄。【统筹兼顾】<3> 找见目标连接字符串的结束符位置【准确定位】<4> 巧借截口,进行顺利平滑赋值过程。循环作用, 阅读全文
posted @ 2012-12-31 16:36 kaizenly 阅读(575) 评论(0) 推荐(0) 编辑
摘要: 【1】字符串比较函数如何实现? 函数原型:int mystrcmp(const char *src,const char *dst) 小于返回值:-1 等于返回值:0 大于返回值:1 (1)第一种实现代码如下: (2)第二种实现代码如下: Good Good Study, Day Day Up. 顺 阅读全文
posted @ 2012-12-31 16:25 kaizenly 阅读(678) 评论(0) 推荐(0) 编辑
摘要: 【1】内存拷贝函数应该如何实现? 函数原型:void * memcpy(void *memTo,memFrom,size_t size) 返回值类型:void * 参数1:void *memTo; 需要拷入的目的指针 参数2:void *memFrom; 需要拷贝的起始指针 参数3:size_t s 阅读全文
posted @ 2012-12-31 15:43 kaizenly 阅读(1124) 评论(0) 推荐(0) 编辑
摘要: 【1】字符数组的环形移动如何实现? 要求:函数原型如下: 参数1:char *pstr 表示需要移动的字符串 参数2:unsigned short steps 表示从第几个字符开始向右移动 返回值类型:void 示例代码如下: 【2】如何判断一个字符串是否是回文串? 要求:函数原型如下: "回文数" 阅读全文
posted @ 2012-12-31 15:39 kaizenly 阅读(1237) 评论(0) 推荐(0) 编辑
摘要: 【1】字符串常量有哪些特性? 字符串常量之所以称之为常量,因为它可以看作是一个没有命名的字符串且为常量。存储于静态数据区。 常量就意味着它具有“只读”属性,不允许被修改。 静态数据区,是相对于堆、栈等动态数据区而言的。 静态数据区存放的是全局变量和静态变量。 全局变量分为常量和一般变量。 因为字符串 阅读全文
posted @ 2012-12-31 14:49 kaizenly 阅读(5251) 评论(0) 推荐(1) 编辑
摘要: 【1】类中静态成员注意事项 (1)类中静态成员分为 静态数据成员 和 静态成员函数。 (2)静态数据成员与全局对象的区别: <1> static成员的名字是在类的作用域中,可以避免命名冲突。 <2> static数据成员可以是私有成员,而全局对象不可以。 <3> 便于阅读维护程序:static成员是 阅读全文
posted @ 2012-12-31 13:10 kaizenly 阅读(1155) 评论(0) 推荐(0) 编辑
摘要: 【1】全局、局部静态变量的特点 通过代码分析如下: 总结: (1)局部静态变量只能在函数内部(内部即局部)。值只进行一次初始化,以后每次再执行函数时保持上一次执行过的值。 (2)全局静态变量是在全局变量前加一个static,使该变量只在这个源文件中可用,称之为全局静态变量。全局静态变量即静态全局变量 阅读全文
posted @ 2012-12-31 12:55 kaizenly 阅读(423) 评论(0) 推荐(0) 编辑
摘要: 【1】typedef关键字有何作用? typedef通常被用于以下三种目的: <1> 为了隐藏特定类型的实现,强调使用类型的目的。 <2> 简化复杂的类型定义,使其更易理解。 <3> 允许一个类型用于多种目的,同时使得每次使用该类型的目的明确。 【2】关于typedef使用应该注意哪些问题? (1) 阅读全文
posted @ 2012-12-31 10:43 kaizenly 阅读(646) 评论(0) 推荐(0) 编辑
摘要: 【1】sizeof是关键字还是函数呢? 答案:关键字 为什么说是关键字呢?看看下面分析: 我们借助编译器确认它的身份。看下面的例子。示例选择题如下: int i = 10; A:sizeof(int) B:sizeof(i) C:sizeof int D:sizeof i A,B不用说,32位系统下 阅读全文
posted @ 2012-12-31 10:10 kaizenly 阅读(1318) 评论(0) 推荐(0) 编辑
摘要: 【1】explicit什么意思?什么作用? explicit 翻译(划重点): 显式作用,代码举例说明如下: (1)加关键字explicit。无法实现隐式转换。 示例代码如下: 1 #include <iostream> 2 using namespace std; 3 4 class Test 5 阅读全文
posted @ 2012-12-30 22:34 kaizenly 阅读(865) 评论(0) 推荐(0) 编辑
摘要: 【1】枚举类型在什么时候使用? 如果一个变量只有几种可能的值,可以定义为枚举(enumeration)类型。 所谓“枚举”是指将变量的值一一列举出来,变量的值只能在列举出来的值的范围内。 声明枚举类型用enum开头。 【2】声明枚举类型的一般形式? enum 枚举类型名 {枚举常量列表}; 当然,在 阅读全文
posted @ 2012-12-30 22:15 kaizenly 阅读(1261) 评论(0) 推荐(0) 编辑
摘要: 【1】const关键字的作用? C++语言在C语言的基础上新增加了几点优化是很耀眼的。const算作其中之一。 const直接可以取代C语言中的宏 #define。 const 是 constant 的缩写,“恒定不变”的意思。 被const修饰的东西都受到强制保护,可以预防意外的修改,提高程序健壮 阅读全文
posted @ 2012-12-30 16:18 kaizenly 阅读(566) 评论(0) 推荐(1) 编辑
摘要: 【1】存储类型分为哪几种? C/C++的存储类型从宏观可以分为两种: 一种是临时性的,即就是暂时的保存在栈中或者寄存器中的。 代表存储标识:auto, register 一种是永久性的,即就是在整个程序的运行期都存在的。代表存储标识:extern, static 一个变量或者函数只能具有一个存储类型 阅读全文
posted @ 2012-12-30 15:57 kaizenly 阅读(854) 评论(0) 推荐(0) 编辑
摘要: 【1】assert是函数还是宏? 明确一点:在C中,ASSERT是宏而不是函数。 assert()是一个调试程序时经常使用的宏。在程序运行时它计算括号内的表达式。 如果表达式为FALSE (0), 程序将报告错误,并终止执行。 如果表达式不为0,则继续执行后面的语句。 这个宏通常用来判断程序中是否出 阅读全文
posted @ 2012-12-30 11:45 kaizenly 阅读(727) 评论(0) 推荐(0) 编辑
摘要: 【1】offset宏的作用?答案:自己查MSDN(呵呵!我也不懂。)查询结果如下:Retrieves the offset of a member from the beginning of its parent structure.size_t offsetof(structName, memberName);ParametersstructName:Name of the parent data structure.memberName : Name of the member in the parent data structure for which to determine the 阅读全文
posted @ 2012-12-30 09:45 kaizenly 阅读(419) 评论(0) 推荐(0) 编辑
摘要: 【1】为什么要使用extern "C"?知根知底,方能游刃有余。每个技术层面的规则,都是在现实需求的驱动之下应运而生的,这个也不例外。先想象一个问题:现在我们使用C++开发了一个很大的项目,为了实现代码复用,减少人力物力成本。我们要引入曾经开发过的一个相当大的文件,它是这个项目中不可或缺的一部分,但是,它是用C语言编写的。用“C编写的”意味着在编译处理时是以C语言的方式进行处理的。而C++支持函数重载机制,也就是说,同一个函数名实现的函数,在以C++方式编译时对函数的处理标志是与C语言方式实现的处理标志是截然不同的两种形式!所以引入它的文件名,在编译时不会出现问题,但是在链 阅读全文
posted @ 2012-12-29 17:18 kaizenly 阅读(712) 评论(1) 推荐(1) 编辑
打赏