【C++学习笔记】教程文章相关的互联网学习教程文章

C++反汇编学习笔记(五)各种算数运算的工作形式(2)

1、 除法  对计算机而言,整数除法的结果必须是整数。计算机取整数部分的方式有如下几种:  ① 向下取整    如:-3.5=>-4;3.5=>3;  ② 向上取整    如:-3.5=>-3;3.5=>4;  ③ 向零取整    如:-3.5=>-3;3.5=>3;  C++和大多数高级语言,对整数除法都规定向零取整。 整数除法的几种情况:    ① 常量除以常量    ② 变量除以常量(常量值为2的幂)    ③ 变量除...

《Effective C++》学习笔记——条款27

***************************************转载请注明出处:http://blog.csdn.net/lttree********************************************五、Implementations Rule 27:Minimize casting规则 27:尽量少做转型动作1.一些基础 C++规则的设计目标之一 —— 保证“类型错误”绝对不可能发生。 理论上,如果程序很"干净地"通过编译,就表示它并不企图在任何对象身上执行任何不安全、无意义、愚蠢荒谬的操作。 But,转型(cast)破坏了类型...

C++学习笔记之STL标准库(三)vector容器【图】

模板类vector是一个封装了动态大小数组的顺序容器,它所控制的序列是以连续数组的方式存储的。跟任意其它类型容器一样,它能够存放各种类型的对象。包含头文件#include <vector> 声明命名空间using namespace std;特性:  1)顺序序列:容器中的元素按照严格的线性顺序排序。可以通过元素在序列中的位置访问对应的元素。  2)动态数组:支持对序列中的任意元素进行快速直接访问。操供了在序列末尾相对快速地添加/删除元素的操...

《深度探索C++对象模型(Inside The C++ Object Model )》学习笔记

转载:http://dsqiu.iteye.com/blog/1669614 第一章 关于对象 使用class封装之后的布局成本:class并没有增加成本,data members直接内含在每一个class object之中,就像C struct一样。而member functions虽然被包含在class的声明之内,但是不出现在Object之中。每一个non-inline function 只会产生一个函数实体。至于inline function则会在每一个调用使用的地方产生一个函数实体(在调用点展开函数体)。class在布局以及存取时间上...

C/C++之学习笔记

【C语言的Static inline 函数的作用】 【printf打印格式】%x 打印十六进制%d 打印十进制%b 打印二进制%c 打印字符%s 打印字符串%f 打印单精度float%lf 打印双精度double 【关于C++中的类型转换】dynamic_cast: 通常在基类和派生类之间转换时使用,把一个派生类转换为基类使用这个转换,run-time cast const_cast: 转换是去掉const变量的const, 主要针对const和volatile的转换. static_cast: 一般的转换,类似于C/C++里面的强制类...

《新标准C++程序设计》1.1-1.6(C++学习笔记1)【图】

1、cout输出 cout<<待输出项<<待输出项2<<···; 2、cin输入 cin>>变量1>>变量2>>···; 3、C++程序通常包含的头两行 4、头文件 一些C语句中常用的头文件在C++中的名字变为去掉“.h”,并在开头增加字符c eg.#include 5、强制类型转换 C++中强制类型转换可以写成:类型名(待转换的表达式) 6、引用(从一而终) 类型名 & 引用名 = 同类型的某变量名 注意:①定义引用时一定要将其初始化成引用某个变量 ②初始化后,它就一直引用该变量...

C++学习笔记28:运行期型式信息【代码】

RTTI运行期标识对象的型式信息优势:允许使用指向基类的指针或引用自如地操作派生类的对象typeid:获取表达式的型式;type_info:型式信息类头文件:typeinfo对象转型模板dynamic_cast:动态转型static_cast:静态转型reinterpret_cast:复诠转型const_cast:常量转型typeid操作符与type_info类type_info类编译器实现的动态型式信息型式用于在程序运行时保存数据对象的型式信息不能直接使用该类,只能通过typeid操作符调用成员函数name()...

C++学习笔记(十五):异常【代码】

C++之父Bjarne Stroustrup在《The C++ Programming Language》中讲到:一个库的作者可以检测出发生了运行时错误,但一般不知道怎样去处理它们(因为和用户具体的应用有关);另一方面,库的用户知道怎样处理这些错误,但却无法检查它们何时发生(如果能检测,就可以再用户的代码里处理了,不用留给库去发现)。Bjarne Stroustrup说:提供异常的基本目的就是为了处理上面的问题。基本思想是:让一个函数在发现了自己无法处理的错误时...

C++学习笔记--异常简介【代码】

C++异常是对程序运行过程中发生的异常情况(如被0除)的一种响应。异常提供了将控制权从程序的一个部分传递到另一部分的途径。1、对异常的处理有3个部分组成:(1)引发异常(2)捕获有处理程序的异常(3)使用try块C++异常的简单例子:double hmean(double a,double b) {if (a == -b)throw "bad hmean() arguments: a = -b not allowed";//引发异常return 2.0 * a * b / (a + b); }void test_exception() {double x, y, z;cout <<...

C++学习笔记(7)标准库string类【代码】

一、初始化string对象:      直接初始化:string a("value");      拷贝初始化:string a = "value";二、读写string对象      注:cin会忽略头尾空白处,保留空白符需要使用getline;      empty函数判断是否为空,size函数计算字符串长度。      不能把多个字面值直接相加赋值给string对象,字符串字面值不是string对象。三、范围for语句的使用string str("some,string!!!");for(auto c : str){co...

Effective C++学习笔记(Part Two:Item 5-12)

??近期最终把effectvie C++细致的阅读了一边,非常惊叹C++的威力与魅力。近期会把近期的读书心得与读书笔记记于此。必备查找使用,假设总结有什么不当之处,欢迎批评指正:如今仅仅列出框架。近期会尽快填充完整:第2部分:构造/析构/赋值运算 个人觉得这是C++的比較难理解的地方,也是C++的深邃所在,刚開始阅读时,可能在某些地方不理解,最好的方式是边读边编程实现,用心去思考其精髓所在!条款5:了解C++默默编写并调用那些函数...

学习笔记 C++ 链表【代码】

今天查了不少关于链表的资料大概理解了链表,为记录只用留笔于此。链表概述:动态的数据存储单元,可以比数组更加灵活。链表的组成:存储的数据,下一个节点。首先让我们用代码完成一个节点。class Node //节点类{ public:Node() {}//三种不同的节点创建方式Node(int n) { num = n; next = NULL; }Node(int n, Node *p) { num = n; next = p; }void setNum(int n) { num = n; }void setNext(Node *p) { next = p; }int getNum() { ...

c++学习笔记5【图】

(五)简单的输入输出㈠标准输入输出⑴、程序的输入输出是程序与用户沟通的桥梁,通过输入输出操作实现用户与程序的交互; ⑵、已知数据的获取最通用的方法是通过输入实现; ⑶、将求解结果呈现给用户则是通过输出实现; ⑷、标准输入输出指系统指定的标准设备的输入输出设备,即从键盘输入,在显示器屏幕上输出。㈡数据输入流的基本原理㈢数据输出流的基本原理㈣数据的输入⑴输入流对象cin>>变量①一般格式为:cin>>变量1>>变量2>...

设计模式C++学习笔记之十九(State状态模式)【代码】【图】

19.1.解释概念:允许一个对象在其内部状态改变时改变它的行为。对象看起来似乎修改了它的类。main(),客户CLiftState,电梯状态抽象类CCloseingState,电梯门关闭COpenningState,电梯门打开CRunningState,电梯运行CStoppingState,电梯停止CContext,电梯的控制面板说明:CContext保持电梯的状态,并提供操作的接口函数。当函数被调用时,CContext直接调用当前状态的相应函数。由状态的接口函数来确定是否可以执行这个动作,以及...

ReactiveX 学习笔记(24)使用 RxCpp + C++ REST SDK 调用 REST API【代码】

JSON : PlaceholderJSON : Placeholder (https://jsonplaceholder.typicode.com/) 是一个用于测试的 REST API 网站。 以下使用 Task API/Rx.NET + Json.NET 调用该网站的 REST API,获取字符串以及 JSON 数据。GET /posts/1GET /postsPOST /postsPUT /posts/1DELETE /posts/1所有 GET API 都返回JSON数据,格式(JSON-Schema)如下:{"type":"object","properties": {"userId": {"type" : "integer"},"id": {"type" : "integer"},"...

学习笔记 - 相关标签