博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
<<C++程序设计原理与实践>>粗读--chapter3 chapter4 Chapter5
阅读量:4170 次
发布时间:2019-05-26

本文共 4000 字,大约阅读时间需要 13 分钟。

本身是不应该关注语法细节的.

________________________________Chapter 3____________________________

    ① bool型在C中有(那个标准开始的忘了,C primer plus中有),在C++中更有.

    ② 字符串的终止会被空白符终止, 空白符:Tab,换行,空格.其实都是空格的一种形式.

    ③ 初值的赋予注意:eg string first_name = "???";  String 类型应该是对C语言中用数组来表示字符串的改进吧.

    ④ String用法远比C中舒服.可以加但是不可以减  还可以直接比较时候相等.

    ⑤ >>  和 << 运算符的应用.  S>>X 从S读取到X.

    ⑥ 终止输入符号: Control + Z 然后按 Enter. 在Linux中的 Control + D 

    ⑦命名的开始下划线最好不用.

    ⑧再次强调定义时初始化.

    ⑨对于类型转换的安全性. 在嵌入式编程中很重要的一点,.很多时候总是用unsigned,但是需要注意范围.

__________________________________________________________________________

下面则是引用中的string中参考

string

class
<string>

String class

String objects are a special type of container, specifically designed to operate with sequences of characters.


Unlike traditional c-strings, which are mere sequences of characters in a memory array, C++ string objects belong to a class with many built-in features to operate with strings in a more intuitive way and with some additional useful features common to C++ containers.


The 
string class is an instantiation of the 
basic_string class template, defined in 
<string> as:

typedef basic_string<char> string;
 

Member functions


Iterators
:


Capacity
:


Element access
:


Modifiers
:


String operations
:

_____________________________Chapter 4_____________________________________

    ① vector算是对C中数组的改进? vector<int>v(6),居然和数组一样用法v[2].

    ② 显然vector应该是class,有内部成员: 

                 push_back这个成员真好,不像C中那样不可以追加.

                 vector<int>V  其size成员在初始化时是0.

                begin和end成员也不错.....

         看来这个确实比C舒服.

   ③sort排序

__________________________________________________________________________

__________________________________Chapter 5________________________________

 ★ 以前学语言都是直接边学习边编写程序的,在编译运行的时候才去分析错误IDE或工具链给出的错误和警告,在这本书中直接用一个章节来写
      在程序编译链接运行时有可能出现的错误,以及不同类型的错误.
 
★ 最为难以解决的应该是运行时错误: 
   最经典的其一是 除数为0,当我们的除以的变量有可能为0时,可能会忘记将其判断一下在处理.
★ 从调用者必须检查参数到方式必须检查参数, 需要编写函数的作者对传入参数进行检查.经典的是 if(p == NULL) return EXIT_FAILURE;
★ 异常处理try{} catch{},C语言中的异常处理用的是,当然Linux内核中的错误处理直接就是用goto来完成.[参考书本Linux Device Drivers 3e, Page37
]
★ 调试.记得在<<C>>里面作者说不要使用printf来查看变量而是应该看Memory或者调试.说得多好.其实开始学编程就该如此学习.而不是来不来习惯用Printf
     

___________________________________自己的想法_______________________________________

开始学编程的时候就该慢慢的一点点学会使用PC-Lint 然后在开始的每一个章节后面加上一些编程规范(当然这个有利有弊了,会限制风格,但是总体利大于弊)

转载地址:http://bbbai.baihongyu.com/

你可能感兴趣的文章
国内快速访问GitHub的方法,亲测有用
查看>>
键盘fn键常亮(一直亮),解决办法
查看>>
Xerces C++实现xml文件解析
查看>>
用户强制一台设备登录,其他设备登出
查看>>
spring实现单例及创建线程安全单例
查看>>
设计模式-- 模板方法模式
查看>>
SQL关键字执行顺序
查看>>
设计模式--适配器模式
查看>>
SpringMvc注解之@ControllerAdvice
查看>>
SQL--查询两个字段相同的记录
查看>>
多研究些架构,少谈些框架(1) -- 论微服务架构的核心概念
查看>>
多研究些架构,少谈些框架(2)-- 微服务和充血模型
查看>>
多研究些架构,少谈些框架(3)-- 微服务和事件驱动
查看>>
SQL性能优化梳理
查看>>
微服务架构技术栈
查看>>
想面试进BAT,不得不看的分布式锁,面试题都在这里了!!
查看>>
Redis最常被问到知识点总结
查看>>
这才是微服务拆分的正确姿势,值得学习!
查看>>
MySQL中一条SQL是如何执行的?
查看>>
MySQL的索引是什么?怎么优化?
查看>>