摘要:
1:打开/etc/apt/sources.list 文件,在文件最底部添加安装源: 2. 执行更新 3. 安装TinyOS和所有支持工具 4. 设置环境变量 由于tinyos-2.1.2下面并没有tinyos.sh这个文件,现在新建一个。 输入一下内容: 接下来编辑.bashrc,使每次启动bash 阅读全文
摘要:
C++:STL标准入门汇总 第一部分:(参考百度百科) 一、STL简介 STL(Standard Template Library,标准模板库)是惠普实验室开发的一系列软件的统称。它是由Alexander Stepanov、Meng Lee和David R Musser在惠普实验室工作时所开发出来 阅读全文
摘要:
0.前言 模板是一种通用的描述机制,当使用模板时,允许使用通用类型来定义函数或类。通用类型可被具体类型(如int,double甚至是用户自定义类型)来代替。模板引入了一个全新的编程思维方式,称为“泛型编程”或者“通用编程”。 1.函数模板 1)函数模板声明形式如下: class用于定义类,在模板引入 阅读全文
摘要:
1.多态与虚函数 多态性是指同一个操作作用于不同的对象就会产生不同的响应。多态性分为静态多态性和动态多态性,其中函数重载和运算符重载属于静态多态性,虚函数属于动态多态性。 一旦一个函数被声明为虚函数,无论经历多少次派生,都会保持虚函数的特性,即使派生类中没有使用virtual关键字,其仍然是虚函数。 阅读全文
摘要:
1.构造函数和析构函数的执行顺序 下图是多虚基类的情况,其中A和B类是类C和类D的虚基类,类E是类C和类D的派生类。 各类定义可以简写如下: 各类构造函数简写如下: 在创建E类对象时,按从左到右深度优先遍历算法来调用各个构造函数:A --> B --> C --> D --> E 析构函数的执行顺序 阅读全文
摘要:
由其他类型转换到自定义类型 由其他类型(如int,double)向自定义类的转换是由构造函数来实现,只有当类的定义和实现中提供了合适的构造函数,转换才能通过。 输出结果如下: 代码中第57行,构造函数“point(authorPoint aP)”被调用,先生成一个临时point类对象,再调用赋值运算 阅读全文
摘要:
1.运算符重载规则 在c++中,操作符和函数时等价的,统一的。因此,运算符也可以重载,虽然系统已经预定了一些操作符的功能,但毕竟应用有所限制,不能灵活得解决各种问题,而运算符重载可以赋予已有的运算符多重含义。通过重新定义运算符,使它能够用于特定类的对象执行特定的功能,使得c++具有很强的可拓展性。 阅读全文
摘要:
友元函数: 如果在某个类的定义中用friend声明了一个外部函数,这个外部函数称为类的友元函数。 友元函数的声明可以放在类的私有部分,也可以放在公有部分,它们没有区别,都说明是该类的友元函数;一个函数可以使多个类的友元函数,只需在各个类中分别声明;友元函数的调用和一般函数的调用方式和原理一致。 对于 阅读全文
摘要:
Typedef用途: 1.定义一种类型的别名,而不只是简单的宏替换。可以用作同时声明指针型的多个对象。比如: 2.用在旧的C的代码中,替换结构名,简化代码书写。 3.用typedef来定义与平台无关的类型。 4.为复杂的声明定义一个新的简单的别名。 理解复杂声明可用的“右左法则”:从变量名看起,先往 阅读全文
摘要:
1.register声明的变量为寄存器变量,因此没有地址,不能对它取地址操作。 2.【用错sizeof】当数组作为函数参数传递时,数组会退化为同类型的指针。 3.每个成员在成员初始化列表中只能出现一次,初始化的顺序不是由名字在初始化列表中的顺序决定,而是由成员在类中被声明的顺序决定。 输出结果如下: 阅读全文