C++编程基础(1)

一、目标

1. 培养正规、大气的编程习惯

2. 培养良好的基于对象编程习惯

  • 不含指针的类 (例如复数类)
  • 含指针的类 (例如字符串类)

3. 学习面向对象编程思维

  • 继承 (Inheritance)
  • 复合 (Composition)
  • 委托 (Delegation)

二、C++的历史与演进

1. C++的族谱图:

B语言(1969)——>C语言(1972)——>C++语言(1983)——>Java、C#…

2. C++的演化历史:

  • C++ 98 (1.0)
  • C++ 03 (TRl, Technical Report t)
  • C++ 11 (2.0)
  • C++ 14

3. C++的构成:

C++的构成:

4. 从C到C++的进化

  • 在C语言时代,数据与处理数据的方法是分开的:
FILE *fp;
fp = fopen("mydata.dat", "r+");
//......
fseek(fp, 10L, 0);
//...
fread(cBuff, 16, 256, fp);
//...
fclose(fp);
  • C++的设计思想就是要通过一种类似struct的结构,在逻辑上将二者封装在一起。
ifstream ofs;
ofs.open("test.txt");
//......
ofs>>temp;
cout<<temp<<endl;
  • C++在逻辑上是将数据和处理数据的方法合二为一,对普通成员函数而言,在物理上是“铁打的函数,流水的对象”。

    C++与C的对照

三、C++参考书籍

1.语言方面:

  • 《C++ Primer 4th》, Stanley B. Lippman
  • 《The C++ Programming Language 4th》, Bjarne Stroustrup
  • 《Essential C++》, Stanley B. Lippman

2.经验方面:

  • 《C++面向对象高效编程(第2版)》, Kayshav Dattatri
  • 《Effective C++ 3rd》, Scott Meyers
  • 《More Effective C++》, Scott Meyers
  • 《C++沉思录》, Andrew Boeing&Barbar Moo

3.STL方面:

  • 《The C++ Standard Library 2rd》
  • 《STL源码剖析》, 侯捷

3.内部实现:

  • 《C++反汇编与逆向分析技术揭秘》, 钱林松
  • 《深度探索C++对象模型》, Stanley B. Lippman
  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值