【《Effective C++》笔记:II】教程文章相关的互联网学习教程文章

《C++ primerplus》第13章练习题【代码】【图】

1.对CD类的派生练习。基类CD类存储作者和作品号等信息,派生类Classic额外增加一格“主要作品”的信息。主函数使用拷贝构造函数、按引用传递参数的函数和指针来测试基类和派生类的功能。注意继承类和基类的权限关系、初始化成员列表的使用。class.h#ifndef _CLASS_H_ #define _CLASS_H_#include <iostream> using std::cin; using std::cout;class CD { private:char performers[20] = {}; //初始化为空,不然输出一堆烫char la...

C++ primer 5 笔记3 chapter 2 变量和基本类型(2.4~2.6)【代码】【图】

2.4 const 限定符const 对象一旦初始化, 他的值就不会改变, 因而const对象必须初始化, 可以是任意复杂表达式, 允许运行时初始化 const int j = get_size(); const int i = 42; 对于const对象的主要限制是, 只能在const类型的对象上执行不改变其内容的操作如果使用一个对象去初始化另一个对象, 是不是const对象其实无所谓默认情况下, const对象仅在文件内有效, 在多个文件中出现了同名的const变量时候, 其实等同在不同的...

关于C++复杂的内存模型

1. c++提供了太多的存储对象的方式: 堆 栈 全局数据区 2. c++ 提供了太多的访问对象的方式: 变量 指针 引用 这样, 对于对象的操作就有9种不同的组合了, 所以c++显得比较复杂. 所以想灵活熟练的使用c++, 就得对上面所述的9中对象的操作了如指掌才可以.原文:http://www.cnblogs.com/ApopToxin0723/p/4004119.html

经典中的博弈:第一章 C++的Hello,World!【图】

经典中的博弈:第一章 C++的Hello,World!摘要: 原创出处: http://www.cnblogs.com/Alandre/ 泥沙砖瓦浆木匠 希望转载,保留摘要,谢谢!“程序设计要通过编写程序的实践来学习”—Brian Kernighan 1.1 程序何为程序?简单的说,就是为了使计算机能够做事,你需要在繁琐的细节中告诉它怎么做。对于怎么做的描述就是程序。编程是书写和测试怎么做的过程。维基百科上说,一个程序就像一个用汉语(程序设计语言)写下的红烧肉菜谱(程...

支持+-*/()int 型数据的计算机c++实现【代码】

1 #include <iostream>2 #include<sstream>3usingnamespace std;4 template<typename T>5class stack6{7 T p[40];8int toop;9public:10 stack() { toop = -1; }11void push(T t) { toop++; p[toop] = t; }12 T top() { return p[toop]; }13bool empty() { if (toop == -1)returntrue; returnfalse; }14void pop() { toop--; }15};16class caculator17{18string s;//原波兰式的容器 19 stack<char>op;20 stack<...

C/C++求余运算符【代码】

C++求余运算符: a%b 双目运算符,两个操作数须是(或可转化为)整型的变量或字面值。注意:1. 如无特殊需求,两个操作数宜为带符号的整型变量;2. 对于 int a,b; , a%b 等价于 a-a/b*b ;3. 运算符可解释为: a%b 为将b乘以某个整数c,以使|b*c|尽量接近而不超过|a|,则a%b=a-b*c。从而 a%b 的值保持了a的符号或为0。例: 1 #include<iostream>2usingnamespace std;3int main(){4int a=7, b=-7, c=3, d=-3;5 unsigned ua=7, ...

C++ 之 指针详解篇(一)【代码】

C++的指针太重要了,我们有必要去掌握它。所以必须认真的对待指针。先来讲解什么是指针。(重点掌握)  指针是存储内存地址的变量,内存又是什么?内存是干啥用的?简单的说,就是存储一些二进制数据,它是按一定的顺序存储的线性单元结构。那一个数据又是如何存储在内存的呢?这些问题都是汇编的基础知识,如果你学过汇编理解这真的不是难事。闲话越扯越远了,通常数据的存储在内存地址中,不同的计算机它的地址也会不同。假设我们...

Unix/Linux环境C编程新手教程(22) C/C++怎样获取程序的执行时间【图】

1.问:知道程序执行时间我们能够做什么?在《C++应用程序性能优化》一书中,假设大家读过相信大家一定对性能优化这一块很上心,文中总是对优化前后的时间对照很直观给我们一个感受。那么我们怎样利用C语言提供的库函数获取一个应用程序的各阶段的执行效率,通过数据分析出该程序的瓶颈而且做出对应的优化。本文给大家解说的clock()函数。2.我们首先看一看C/C++标准文档对于clock()函数的解说3.函数原型 clock_t clock (void);函数...

未来两周目标计划---C++ and Disassembly(不积跬步无以至千里,不积小流无以成江海)

1.深入理解C++模板编程2. 重新仔细查阅C++的编译器多态与运行期多态;3. 利用反汇编去跟踪代码,深入弄懂程序执行的内部过程;任务完成程度: 2014.11.12 完成度:%10一点小收获与小进步: 快速锁定屏幕快捷键:window按键(键盘上的像窗口的那个)+ L; 快速打开Windows运行窗口快捷键:window按键 + R ; ??原文:http://blog.csdn.net/gggg_ggg/article/details/41039587

C/C++程序设计基础【代码】

C与C++的各自特点C是结构化语言,重点在于算法和数据结构。C程序的设计首先考虑的是如何通过过程,对输入进行运算处理得到输出。对于C++,首先考虑如何构建对象模型,让模型能够契合与之对应的问题域,这样就可以通过获取对象的状态信息得到输出或实现过程控制。头文件中ifndef/define/endif作用阻止该头文件被重复引用。C++调用C编译后函数加上extern CC++支持函数重载,而C语言不支持函数重载。函数被C++编译后在库中的名字与C语...

c++构造函数具体解释

一、Default constructor1. 对于class X ,假设没有不论什么user-declaredconstructor,那么编译器生成的default constructor是没用的2. 编译器合成(扩张)的default constructor 是实用的4中情况 ①.带有default constructor的memberclass object Member class object 的Default constructor会在合成(扩张)的defaultconstructor调用。 ②.带有default constructor的baseclass 合成(扩张)的default const...

C++ StringBuilder类【代码】

#ifndef __GTL_STRINGBUILDER_H_ #define __GTL_STRINGBUILDER_H_#include <list> #include <string>namespace gtl {/* 字符串拼接类 */template <typename chr>class TLStringBuilder {private:typedef std::basic_string<chr> string_t;typedef std::list<string_t> container_t; // Reasons not to use vector below.//typename标志string_t::size_type是一个类型,并非属性typedef typename string_t::size_type size_type; /...

C++中的namespace(using namespace)的理解

在C++语言编写的程序中,变量和函数等的作用范围是有一定限制的。比如,在函数体中定义的一个临时变量就不可以在函数体外使用。为了解决变量和函数等的作用范围,在C++语言中引入了名空间的概念,并增加了关键字namespace和using在一个名空间中可以定义一组变量和函数,这些变量和函数的作用范围一致,可以将这些变量和函数称为这个名空间的成员。通过名空间,可以在同一个文件中使用相同的变量名或函数名,只要它们属于不同的名空...

c++标准库的所有类型

标准库的组成: 前言就到此为止。从最宏观的层面上看,C++标准库由十个部分组成:语言支持、诊断、通用工具、字符串、本地化、容器、迭代器、通用算法、数值算法和I/O。头文件组成: C++ 标准库一共包含 33 个C++ 头文件:<algorithm>, <bitset>, <complex>, <deque>, <exception>, <fstream>, <functional>, <iomanip>, <ios>, <iosfwd>, <iostream>, <istream>, <iterator>, <limits>, <list>, <locale>, <map>, ...

c++ namespace 命名空间

using namespace std; //using编译指令, 它会一次性把std空间中的所有实体全部引进来 //要求:熟悉空间中的实体 //目前来说,不推荐使用 namespace wd{  void display()  {     cout << "wd::display() " << endl;  }}//end of namespace wdnamespace tls{  void display()  {       cout << "tls::display() " << endl;  }}//end of namespace tlsint main(void){   wd::display();//:: 作用域限定...