C++ Primer阅读总结(未完!)

限时加码!20+主流AI编程工具免费用 购周边加赠Coding Plan Lite,Claude Code、Cursor等即刻畅享,学习进阶更高效! 阅读详情

阅读笔记:
12P: <cassert>头文件,用于测试是否满足条件继续执行程序,保正程序可以正确执行例子看(37P).
23P: class Array;
{
30P:  从‘注意’开始的一段话挺重要;-!
33P: ‘一方面---’,‘另一方面---’,不理解;:-<
34p: 对虚拟继承用法的使用说明 :-!
35P: protected && private的区别:希望防止派生类直接访问某成员,则用private;否则用一般可用
   protected;
42P: 类模板 array<elemType>需要熟练的掌握,学会template和有用的。
46P: 基于异常的设计放下没学,可以考虑和预处理一起学他们都和编译有关的。
50P: 名字空间可以不必总用他,工作时候注意一下就可以了。
}
54P class vector;(容器)
{
54P: 了解Array和vector的实现之间的区别;
     学会vector的使用方法;
}
77P: C语言风格的字符串使用的时候常出现的错误,应该在编程时注意(char *p=st; *p++;)
78P: 字符串类型的功能要求和构造;
79P: 学会string的使用方法;
107P: class String;
{
109P: 对于频繁调用的小函数,将其声明为内联(inline)函数有好处。
111P: 别忘了用*this检察所赋的对象是它本身,常忘了的错误;
112P: 又出现了<cassert>的使用;
      对 "<<" , ">>"的重载( 重载iostream在20.4和20.5详细讨论。)
}
117P: 子表达式的计算顺序要掌握;( &&, ||, + , -, *, / )
118P: 浮点数不可取余数;
121P: && , || 又提到了计算规则;
128P: _top++和_--top:体现了top++:先将使用当前的值,然后再把它加1.
                         --top:先将top减1,然后再返回减1后的top值

136P~145P: 位的操作()//待学
146p: 类型转换:
    隐式转换: 算术转换规则!
210P~267P: 容器的用法:(vector, list, deque, map, set)它们的属性:(insert, pop, push等操作)
容器体现了数据结构的抽象;(如 列表list;)
{
(注意: 对大型的类对象开销太大了,必须用引用!对于传递引用为了不使引用对象被不改变,必须用const保证它不变,只是被用一下。)
282P~289P:参数传递(函数参数的按值传递,引用传递和指针传递;):
     1:按值传递,将实参的拷贝操作,函数结束其局部值就消失了。实参的内容不会改变。
        它不适合的情况:
                       (1)大型的类对象必须作参数传递时,开销太大了。
                       (2)当实参的值必须被修改时。
     2:(1)(2)可以用引用和指针传递,可以改变参数的值和它的地址;(用在主调函数返回额外值例如         函数look_up(),传递大型类对象,主意const的应用。)
     3:引用和指针用哪一个?
        引用必须被初始化为指向一个对象,且一旦初始化了,它就不能再指向其它对象。而指针可以.
        (主意:另一方面。)如果一个参数可能在函数中指向不同的对象,或这个参数可能不指向任何对        象(如:为0),则必须使用指针参数。
        引用参数的一个重要用法是,它容许在有效的实现重载操作符的同时,还能保证用法的直观性.
                             
289P:数组参数的函数传递:
         在C++中,数值和数组永远不会按值传递。它时传递第一个元素的指针。
        
         因为数组被传递为指针,所以这对程序员有两个涵义:
              (1)函数调用参数数组直接改变,改变的不是本地拷贝,所以要使实参数组保持不变,
                 则要保留数组的拷贝。函数可以把数组参数声明为const来表明不希望改变数组元素。
              (2)数组长度要成为参数类型的附加条件或将参数声明为数组的引用(还可以使用抽象容器类型), 函数不知道传递给它的数组的实际长度,编泽器也不知道当编译器对实参类型进行参数类型检查时并不检查数组的长度,如:putvalues(int[], int size) 或putvalues(int (&arr)[10])
              (3)多维数组参数类型检查检验多维数组实参中除了第一维之外的所有维的长度与参数的是否相同,所以在传递多维数组时应该把除一维以外都要声明它的长度,如:matrix[][ia];

293P:抽象容器类型参数
      当容器类型的参数按值传递时容器以及全部元素都被拷贝到被调函数的本地拷贝中因为拷贝的效率非常低所以把容器类型的参数声明为引用参数比较好。
      记住: 当一个函数不会修改参数的值时我们把参数声明为const 类型的引用更为合适。
             如:void putValues( const vector<int> & )
298P: return:
           (1) 按值传递的(passed by value) 这意味着得到控制权的函数将接收返回语句中指定的表               达式的拷贝.
           (2) 一个函数可以被声明为返回一个指针或一个引用.如果返回值是一个大型类对象用引用或                指针返回类型比按值返回类对象效率要高得多.如:Matrix& grow( Matrix* p )
                                                             { return *res};
           (3) 当声明一个返回引用的函数时,
               程序员应当知道下面两个易犯的错误:
                      
               <1> 返回一个指向局部对象的引用.局部对象的生命期随函数的结束而结束(局部对象的                     生命期将在8.3 节讨论).在函数结束后该引用变成未定义内存的别名.(见例如。)
               <2> 函数返回一个左值. 对返回值的任何修改都将改变被返回的实际对象. (见例如)
                   为防止对引用返回值的无意修改返回值应该被声明为const。
300p:参数和返回值与全局对象的缺点。
}
412P: 函数和类模板
     
      1. 函数模板定义形式及参数:template<类型参数表> 返回类型 函数名(型参表){};
        
         如:
            template<class T1,  class T2, class T3> //关键字class表示模板参数代表一个类型,
                                                      T1,T2,T3用作参数名。
            void input(T1 a, T2 b, t3 c)            //这部分和普通函数一样。
      2. 类型参数和非类型参数:(class / typename)
    
     如:
       template<class Type> class Queue;
             Queue<int, 100> Iq;
      3. 初始化:
     template<class Type=int, int size=1024> class Queue;
         Queue<int, 100> Iq1; //类型为:int, size=100;
         Queue<int>  Iq2; //类型为:int, size=1024;
         Queue<>   Iq3;  //默认int, 默认size=1024; 
412P: Type min(Type (&r_array)[size])// 可以设定数组的大小;
507P:友元声明以关键字friend 开头它只能出现在类的声明中由于友元不是授权友谊的类
     的成员所以它们不受其在类体中被声明的public private 和protected 区的影响,所以一般只
    需把friend声明在public之前即可;
522P: this指针!!!(需要深刻理解)

~~~未完待续!~~~

C++primer plus和C++ primer的读书心得 C++两本巨著primer plus和primer太过于经典,以至于读过多次,每次阅读仍然有新的收获,所以将一些零碎的知识点整理在这里,与大家共同进步。 1.i++与++i的效率比较: 前缀效率高,后缀在递增前需要一个副本。 ... 阅读详情

相关推荐

c++primer plus和c++primer区别_如何在最短时间内把《C++ Primer》这么厚的书读完?

我就是那种正面刚大部头的选手,这些年读过的工作相关的“砖头”大概有《c++primer》,《Windows核心编程》,《算法导论》,《unix网络编程》,《STL源码剖析》等等吧,投资、社科等类型的与本题无关就不一一列举。在阅读方面我还是能分享一两点经验。要有强烈的动机大部头的书通常艰深难懂,内容又出奇地多,阅读过程非常烧脑难以坚持,很容易看到一半就放弃。因此在翻开书之前就应该确定自己是否有强烈的...

weixin_39779975的博客 1158

C++ Primer 阅读小结

一、变量和基本类型 类型是C++程序设计的基础。 每种类型都定义了其存储空间要求和可以在该类型的所有对象上执行的操作。C++提供了一组基本内置类型,如int、char等。这些类型与它们在机器硬件上的标示方式紧密相关。 类型可以为const或非const;const对象必须要初始化,且其值不能被修改。另外,我们还可以定义复合类型,...

weixin_30483495的博客 103

C++primer】一学期阅读笔记

参考文献(References) [1] Stanley B.Lippman,Josee Lajoie,Barbara E.Moo.C++ Primer 中文版(第5版)[M].王刚,杨巨峰,北京:电子工业出版社,2013.9

零昔无浪 1700

从《C++ Primer 第四版》入手学习 C++

C++ Primer 第4版 评注版》即将出版,这是序言。PDF 版见:https://github.com/downloads/chenshuo/documents/LearnCpp.pdf从《C++ Primer 第四版》入手学习 C++为什么要学习C++?2009 年本书作者 Stan Lippman 先生来华参加上海祝成科技举办的C++技术大会,他表示人们现在还用C++的惟一理由是其性能

陈硕的Blog 8万+

text-generation-inference Llamacpp Backend 构建与部署指南:GGUF 模型在 CPU/GPU 上的推理实战

本文面向在 text-generation-inference(TGI)生态中需要以 GGUF 格式部署大语言模型的开发者,完整讲解 `backends/llamacpp` 后端的源码结构、llama.cpp 依赖的编译安装、Docker 镜像构建与运行、以及从 CLI 参数到批处理调度与采样链的底层实现原理。读完本文,你将掌握如何从零构建 tgi-llamacpp 镜像、在 CPU 与 GPU

gitblog_00964的博客 1034

[阶段总结]写在C++ Primer Plus后,C++ Primer

这篇总结分为三个部分一、总结这半年的学习生活情况。二、总结学习C++ Primer Plus的一些收获三、展望一下接下来半年应该如何开展学习工作Ⅰ前半年的学习生活1.参加了一次网易游戏探营活动,认识了司虎虎等众多大神,并与其相互关注了github。2.参加了一次华为软件精英挑战赛,从中学到了很多有用的团队合作的知识。3.参加了学校的摄影公选课,除了课上的外拍,自己还进行了2次外拍活动。无论是拍摄水...

xy_cpp的博客 9897

TeamAI 自动同步揭秘:AI 会话如何静默获取团队最新资源的完整指南

TeamAI 是一款开源的 AI 团队资源管理 CLI 工具(teamai-cli),它的自动同步机制可以让 Claude Code、Codex、Cursor 等 AI 助手在**每次会话启动时静默拉取团队最新的技能、规则与知识**,全程无需人工干预。本文带你彻底搞懂这套机制背后的原理。✨ ## 什么是 TeamAI 自动同步? 想象这样一个场景:管理员更新了团队的编码规则,昨天还有效的技能今

gitblog_01132的博客 973

presenterm 主题文件完全指南:从对齐、颜色、页脚到调色板的 YAML 主题定义

<presenterm(终端 Markdown 幻灯片工具)允许通过 YAML 主题文件精细控制每张幻灯片的渲染外观。本文以官方主题定义文档为主体,结合仓库源码([src/theme/raw.rs](https://link.gitcode.com/i/2ebb48b1248464f889048187fb801138)、[src/theme/clean.rs](https://link.gitco

gitblog_00927的博客 1011

C++Primer Plus学习笔记

此博文是通过翻阅C++ Primer Plus中文第6版(2020),逐章学习记录笔记由此学习C++的基础特性和语法知识,有别于其它视频教学+代码+笔记的学习途径,更趋向传统的书籍+代码+笔记学习,Cpp第6版以C++11标准为主,学习C++基础编程绰绰有余.

weixin_45068267的博客 3156

C++ Primer阅读感想

无疑的,《C++ Primer》是一本相当好的书,里面的内容相当丰富。 然而,或许是它太过于丰富了,作为primer,我始终认为它有所欠缺。 欠缺的,不是它的内容,而是它的知识框架。 我心中理想的C++指导书的样子,可以根据《C++ Primer》拆分成两本。 第一本,基础篇。 一、从类型、变量、表达式,到语句、函数。介绍这些语言的基本。 二、从类到封装、继承、多态。介绍其基本

Van0512的博客 1761

如何利用《C++ Primer》学习C++

C++ Primer》作为久负盛名的C++经典教程,丰富的教学辅助内容、精心组织的编程示范,无论是初学者入门,或是中、高级程序员提升,都是不容置疑的首选。一本好书只有读过才有价值,然而《C++ Primer》这本厚如砖头的好书,很多人在购买之后,都仅仅只是简单翻阅了前面几个章节,而并未能够认真的完整读完该书。实验楼为了能够让大家能够更好的利用《C++ Primer》学习C++,推出了深入学习《C+

实验楼--动手做实验,轻松学IT! 3933

谈谈怎样读《C++primer 3、4两版》

谈谈怎样读《C++primer 3、4两版》 C++primer是公认的经典著作,网上一些常见提法我觉得容易误导真正的初学者,对此我心中很不安。我是一个老汉,64岁了,编过10年的程序,讲过14年的C、C++、和软件工程。我要诚实地告诉青年朋友们,我并没有详细地阅读这两本书,仅仅是浏览而已,按说无资格发言,但是我仍然忍不住要对年轻人说几句,不妥之处在所难免,欢迎大家指正。 首先我要表达

chenshuzhenteacher的专栏 3981

Cpp-Primer-5th-Exercises项目贡献指南:如何参与开源C++学习资源建设

Cpp-Primer-5th-Exercises是一个专注于《C++ Primer》第五版习题解答的开源项目,旨在为C++学习者提供高质量的学习资源。通过贡献代码、完善解答或改进文档,你可以帮助全球的C++学习者更好地掌握这门编程语言。本文将详细介绍参与该项目的完整流程,让你轻松成为开源贡献者。 ## 为什么选择贡献C++学习资源? 参与Cpp-Primer-5th-Exercises项目贡献

gitblog_00934的博客 399

C++primer、Effective C++应该怎么读,如何读?

导读 刚开始C++的学习肯定就是拿起书就开始读,读了一会就放下就干别的,带最后没翻过几页。下面我就说一下,我是怎么读的,我大概一个暑假就把这两本读完了。 C++ primer 计划 有人听到计划可能退缩了,计划都是骗人的,都是假的。我的计划有点和别人不一样。听我细细道来。 首先我规定自己一天必须读完一章。这一章不管大小(当然后面的泛型或者虚函数的地方可以规定半章一天)。大家不用分的太细,几点到几点...

曲怪曲怪 1877

如何有效阅读C++ Primer》那么厚的书

我就是那种正面刚大部头的选手,这些年读过的工作相关的“砖头”大概有《c++primer》,《Windows核心编程》,《算法导论》,《unix网络编程》,《STL源码剖析》等等吧,投资、社科等类型的与本题无关就不一一列举。在阅读方面我还是能分享一两点经验。 要有强烈的动机 大部头的书通常艰深难懂,内容又出奇地多,阅读过程非常烧脑难以坚持,很容易看到一半就放弃。因此在翻开书之前就应该确定自己是否有强...

vonmax007的博客 2万+

超硬核知识:两万字总结《C++ Primer》要点!

对于想要入门C++的同学来说,《C++ Primer》是一本不能错过的入门书籍,它用平易近人的实例化教学激发学生的学习兴趣,帮助学生一步步走进C++的大门。在本文中,作者Jacen用两万多字总结了《C++ Primer 中文版(第五版)》1-16章的阅读要点,可以作为该书的阅读参考。现在到了第六版也没关系。注:原书更为详细,本文仅作学习交流使用。 第一章 开始 1.1 编写一个简单的C++程序 每个C++程序都包含一个或多个函数,其中一个必须命名为main. 1.2 初识输入输出 1.

致力于C语言C++知识分享! 3706

两万字总结《C++ Primer》要点

“本文为《C++ Primer 中文版(第五版)》1-16章阅读要点总结。原书更为详细,本文仅作学习交流使用。”第一章 开始—1.1 编写一个简单的C++程序int main() { ...

编程与实战的博客 1872

怎么读C++ Primer

C++ Primer》作为

fenglinfeng9的专栏 1325

如何正确的通过 C++ Primer 学习 C++(摘自知乎)

作者:知乎用户链接:https://www.zhihu.com/question/32087709/answer/54936403来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。个人经验,C++ primer 第一次可以跳着看。关键是要尽快用起来,在使用中熟练,而不是在细节中迷失。以C++ Primer第五版为例,第一遍读的时候:Part1也就是前七章,除了6.6,6...

u012528000的博客 7279
上一篇: C++高手进阶
下一篇: 矩阵类(请教探讨)
liu0013
博客等级 码龄22年 5粉丝 14原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值