上一页 1 ··· 15 16 17 18 19 20 21 22 23 ··· 27 下一页
摘要: 除了使用下标来访问 vector 对象的元素外,标准库还提供了另一种访问元素的方法:使用迭代器(iterator) 。迭代器是一种检查容器内元素并遍历元素的数据类型。 所有的标准库容器都定义了相应的迭代器类型,而只有少数的容器支持下标操作。因为迭代器对所有的容器都适用,现代 C++ 程序更倾向于使用 阅读全文
posted @ 2018-04-27 21:37 刘-皇叔 阅读(440) 评论(0) 推荐(0) 编辑
摘要: string 类型支持长度可变的字符串,标准库 string 类型的满足对对字符串的一般应用。 与其他的标准库类型一样,用户程序要使用 string 类型对象,必须包含相关头文件。如果提供了合适的 using 声明,那么编写出来的程序将会变得简短些: string 对象的定义和初始化 初始化stri 阅读全文
posted @ 2018-04-27 17:30 刘-皇叔 阅读(238) 评论(0) 推荐(0) 编辑
摘要: 使用 using 声明可以在不需要加前缀 namespace_name:: 的情况下访问命名空间中的名字。using 声明的形式如下: 一旦使用了 using 声明,我们就可以直接引用名字,而不需要再引用该名字的命名空间。 没有 using 声明,而直接使用命名空间中名字的未限定版本是错误的,尽管有 阅读全文
posted @ 2018-04-27 16:01 刘-皇叔 阅读(1216) 评论(0) 推荐(0) 编辑
摘要: 类型别名 类型别名是一个名字,它是某种类型的同义词,定义类型别名有两种方法: 新标准规定了新的方法,使用别名声明来定义类型的别名: 这种方法用关键字using作为别名声明的开始,其后紧跟别名和等号,其作用是把等号左侧的名字规定成等号右侧类型的别名。 指针、常量和类型别名 如果某个类型别名指代的是复合 阅读全文
posted @ 2018-04-23 21:41 刘-皇叔 阅读(278) 评论(0) 推荐(0) 编辑
摘要: 定义 const 对象 const 限定符提供了一个解决办法,它把一个对象转换成一个常量。 因为常量在定义后就不能被修改,所以定义时必须初始化 : const 对象默认为文件的局部变量 在全局作用域里定义非 const 变量时,它在整个程序中都可以访问。我们可以把一个非 const 变更定义在一个文 阅读全文
posted @ 2018-04-22 11:51 刘-皇叔 阅读(275) 评论(0) 推荐(0) 编辑
摘要: 引用 引用是一种复合类型,通过在变量名前添加“&”符号来定义。复合类型是指用其他类型定义的类型。在引用的情况下,每一种引用类型都“关联到”某一其他类型。不能定义引用类型的引用,但可以定义任何其他类型的引用。 引用必须用与该引用同类型的对象初始化: 引用是别名 因为引用只是它绑定的对象的另一名字,作用 阅读全文
posted @ 2018-04-22 11:40 刘-皇叔 阅读(466) 评论(0) 推荐(0) 编辑
摘要: 变量 变量提供了程序可以操作的有名字的存储区。C++ 中的每一个变量都有特定的类型,该类型决定了变量的内存大小和布局、能够存储于该内存中的值的取值范围以及可应用在该变量上的操作集。C++ 程序员常常把变量称为“变量”或“对象(object)”。 左值和右值 左值(发音为 ell-value):左值可 阅读全文
posted @ 2018-04-22 09:31 刘-皇叔 阅读(253) 评论(0) 推荐(0) 编辑
摘要: 类似42 这样的值,在程序中被当作字面值常量。称之为字面值是因为只能用它的值称呼它, 称之为常量是因为它的值不能修改。每个字面值都有相应的类型,例如:0 是 int 型,3.14159 是 double 型。只有内置类型存在字面值,没有类类型的字面值。因此,也没有任何标准库类型的字面值。 整型字面值 阅读全文
posted @ 2018-04-21 22:48 刘-皇叔 阅读(2000) 评论(0) 推荐(0) 编辑
摘要: C++ 定义了一组表示整数、浮点数、单个字符和布尔值的算术类型,另外还定义了一种称为 void 的特殊类型。 算术类型的存储空间依机器而定。这里的存储空间是指用来表示该类型的位(bit)数。C++标准规定了每个算术类型的最小存储空间,但它并不阻止编译器使用更大的存储空间。 C++ 算术类型 : 类型 阅读全文
posted @ 2018-04-21 14:17 刘-皇叔 阅读(199) 评论(0) 推荐(0) 编辑
摘要: 我们通常希望自己编写的程序能够在异常的情况下也能作出相应的处理,而不至于程序莫名其妙地中断或者中止运行了。在设计程序时应充分考虑各种异常情况,并加以处理。 在C++中,一个函数能够检测出异常并且将异常返回,这种机制称为抛出异常。当抛出异常后,函数调用者捕获到该异常,并对该异常进行处理,我们称之为异常 阅读全文
posted @ 2018-04-21 13:40 刘-皇叔 阅读(44846) 评论(0) 推荐(6) 编辑
摘要: C++内联函数(inline) C++语言新增关键字 inline,用于将一个函数声明为内联函数。在程序编译时,编译器会将内联函数调用处用函数体替换,这一点类似于C语言中的宏扩展。 采用内联函数可以有效避免函数调用的开销,程序执行效率更高。使用内联函数的缺点就是,如果被声明为内联函数的函数体非常大, 阅读全文
posted @ 2018-04-21 13:25 刘-皇叔 阅读(567) 评论(0) 推荐(0) 编辑
摘要: 在C++语言中新增了四个关键字static_cast、const_cast、reinterpret_cast和dynamic_cast。这四个关键字都是用于强制类型转换的。 static_cast 在C++语言中static_cast用于数据类型的强制转换,强制将一种数据类型转换为另一种数据类型。例 阅读全文
posted @ 2018-04-21 13:14 刘-皇叔 阅读(1347) 评论(0) 推荐(0) 编辑
摘要: C++的输入输出(cout和cin) 在C语言中,通常会在采用格式化输入输出函数printf和scanf用于输入或输出数据或信息。在C++语言中,C语言的这一套输入输出库我们仍能使用,但是C++语言又自定义了一套新的、更容易使用的输入输出库。 在C++程序中,输入与输出可以看做是一连串的数据流,输入 阅读全文
posted @ 2018-04-21 12:45 刘-皇叔 阅读(821) 评论(0) 推荐(0) 编辑
摘要: C++语言引入命名空间(Namespace)这一概念主要是为了避免命名冲突,其关键字为 namespace。 不同的人开发同一个系统,不可避免地会出现变量或函数的命名冲突,当所有人的代码测试通过,没有问题时,将所有人的代码结合到一起,因为变量或函数重名而导致的问题将会造成一定的混乱,例如: 如上所示 阅读全文
posted @ 2018-04-21 12:43 刘-皇叔 阅读(196) 评论(0) 推荐(0) 编辑
摘要: C++概述 20世纪80年代,AT&T Bell(贝尔)实验室的Bjarne Stroustrup博士及其同事在C语言的基础上成功开发出C++语言。C++语言是一种混合型语言,它保留了C语言所有的优点,同时又增添了面向对象的编程机制,我们可以将C++语言视为C语言的改进和扩展。 基于C语言开发的C+ 阅读全文
posted @ 2018-04-21 12:37 刘-皇叔 阅读(1154) 评论(0) 推荐(0) 编辑
摘要: 介绍两种最常用的针对TI CCS平台DSP开发过程中,算法运行时间测量的方法。一种是在带SYS/BIOS系统的项目中使用比较方便,一种是不带系统裸机程序中使用。两个测量时间的方式精度都是一个cycle,如果CPU频率为1GHz,则一个cycle为10纳秒。只不过处理成毫秒ms,再低意义不大。当然CC 阅读全文
posted @ 2018-04-10 09:13 刘-皇叔 阅读(1282) 评论(0) 推荐(0) 编辑
摘要: ELF文件格式是一个开放标准,各种UNIX系统的可执行文件都采用ELF格式,它有三种不同的类型: 可重定位的目标文件(Relocatable,或者Object File) 可执行文件(Executable) 共享库(Shared Object,或者Shared Library) ELF格式提供了两种 阅读全文
posted @ 2018-04-08 16:04 刘-皇叔 阅读(382) 评论(0) 推荐(0) 编辑
摘要: 虚拟内存管理示例 我们知道操作系统利用体系结构提供的VA到PA的转换机制实现虚拟内存管理。有了共享库的基础知识之后,现在我们可以进一步理解虚拟内存管理了。首先分析一个例子: 用ps命令查看当前终端下的进程,得知bash进程的id是29977,然后用cat /proc/29977/maps命令查看它的 阅读全文
posted @ 2018-04-08 15:53 刘-皇叔 阅读(1216) 评论(0) 推荐(0) 编辑
摘要: 动态函数库同共享函数库是一个东西(在linux上叫共享对象库, 文件后缀是.so ,windows上叫动态加载函数库,文件后缀是.dll)。 Linux中命名系统中共享库的规则: 共享函数库中的函数是在当一个可执行程序在启动的时候被加载。如果一个共享函数库正常安装,所有的程序在重新运行的时候都可以自 阅读全文
posted @ 2018-04-08 15:16 刘-皇叔 阅读(714) 评论(0) 推荐(0) 编辑
摘要: 创建静态库 有时候需要把一组代码编译成一个库,这个库在很多项目中都要用到,例如libc就是这样一个库,我们在不同的程序中都会用到libc中的库函数(例如printf),也会用到libc中的变量。 我们把stack.c拆成四个程序文件: 这些文件的目录结构是: 我们把stack.c、 push.c、 阅读全文
posted @ 2018-04-08 09:05 刘-皇叔 阅读(209) 评论(0) 推荐(0) 编辑
上一页 1 ··· 15 16 17 18 19 20 21 22 23 ··· 27 下一页