C++ Primer Plus笔记: 2023.06.05 AND 2023.06.06

这篇具有很好参考价值的文章主要介绍了C++ Primer Plus笔记: 2023.06.05 AND 2023.06.06。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.在C++的赋值语句:

yamaha = baldwin = steinway = 88;

赋值将从右向左进行,首先,88被赋值给steinway,然后,steinway的值(现在是88)被赋给baldwin,然后baldwin的值88被赋给yamaha。

2.类与对象:
**类是用户定义的一种数据类型。要定义类,需要描述它能够表示什么信息和可对数据执行哪些操作,类之于对象就像类型之于变量。也就是说,类定义描述的是数据格式及其用法,而对象是根据数据格式规模而创建的实体。换句话说,如果类就好比所有的著名演员,则对象就好比某个著名的演员,比如蛙人Kermit。我们来扩展这种类比,表示演员的类中包括该类可执行的操作的定义,如念某一角色的台词,表达悲伤,威胁恫吓,接受奖励等。

总结来一句话:类描述了一种数据类型的全部属性(包括可使用它执行的操作),对象是根据这些描述创建的实体。

类描述了可对类对象执行的所有操作,要对特定对象执行这些允许的操作,需要给该对象发送一条消息。在C++中提供了两种发送消息的方式:
(1)使用类方法(实际上就是函数调用)
(2)重新定义运算符(cin和cout采用的就是这种方式)
**

3.函数原型和函数定义:
不要把二者混淆,可以看出,原型只描述函数接口,即发送给函数的信息和返回的信息。而定义中包含了函数的代码,比如计算平方根的代码。C和C++将库函数的这两项特性(原型和定义)分开了。库文件中包含了函数的编译代码,而头文件则包含了原型。

4.主函数的返回值:
main( )的返回值并不是返回给了程序的其他部分,而是返回给了操作系统,很多操作系统都可以使用程序的返回值。例如,UNIX外壳脚本和Windows命令行批处理文件都被设计成运行程序,并测试它们的返回值(通常叫做退出值)。通常的约定是,退出值为0就意味着运行成功,非0则意味着存在问题。

5.注意:在程序中将同一个名称(比如cout)用作对象名和变量名会把编译器搞糊涂。也就是说,在不使用cout对象进行输出的函数中,可以将cout用作变量名,但不能在同一个函数中同时将cout用作对象名和变量名

6.让程序能够访问名称空间std的方法有很多中,其中四种如下:
(1)将using namespace std; 放在函数定义之前,让文件中所有的函数都能够使用名称空间std中所有的元素。
(2)将using namespace std; 放在特定的函数定义中,让该函数能够使用名称空间std中所有的元素。
(3)在特定的函数中使用类似于using std::cout 这样的编译指令,让该函数能够使用指定的元素,比如cout。
(4)完全不使用编译指令using,当要使用名称空间std中的元素时,直接在前面加上std::
比如:
文章来源地址https://www.toymoban.com/news/detail-473564.html

std::cout << "I'm using cout and endl from the std namespace." << std::endl;

到了这里,关于C++ Primer Plus笔记: 2023.06.05 AND 2023.06.06的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • Maven多仓库配置

    Maven多仓库配置

    有两种方式配置Maven多仓库 setting.xml文件的profiles标签 pom.xml文件的repositories标签 在使用多仓库配置时,不管使用哪种方式,必须先将setting.xml文件中的mirrors标签修改为如下内容(如果有mirrors标签),关键是mirrorOf千万不要写成*,否则多仓库配置不生效 两种方式可以同时使用

    2024年02月12日
    浏览(5)
  • python中cv2.projectPoints的用法

    python中cv2.projectPoints的用法

    我们先看一下c++ 中的参数解释 第一个输入的点是一个, (N, 3) 维的 三维坐标系中的点, xyz 第二个是旋转向量, 第三个是平移向量. 第四个是相机内参, 第五个是相机的畸变系数, 如果输入是4个时, 就是[k1, k2, p1, p2], 输入5个时就是 [k1, k2, p1, p2, k3], 也可以是更多, [k1, k2, p1, p2, k3,

    2024年02月06日
    浏览(9)
  • Unity - 记一次非正规变体优化带来的兼容性导致部分手机卡死的问题

    Unity - 记一次非正规变体优化带来的兼容性导致部分手机卡死的问题

    在 2023.4.6 我们的 角色展示界面 就遇到了 华为手机,red mi note 11 的测试手机上的 后 2023.5.24 再次遇到类似的问题,但是这次重现的地方很多,不单止 角色展示界面 遇到 排除过: 模型 特效 场景 人物 材质 后来多次排查,发现是 PBR 所有的 变体拆分优化 的文件导致阴影部分

    2024年02月08日
    浏览(13)
  • 关于出版《AR Foundation增强现实开发实战(ARKit版)》(2023-04-05更新)

    关于出版《AR Foundation增强现实开发实战(ARKit版)》(2023-04-05更新)

    感谢各位读者的支持,书籍目前已上市各大电商平台。 ----------- 2022年9月11日创建 ---------   ARKit是苹果公司在前沿科技领域的重大技术布局,也是目前移动领域AR应用开发引擎标杆。得益于良好的软硬件生态整合,ARKit运动跟踪稳定性好、性能消耗低、功能特性丰富,利用它

    2023年04月09日
    浏览(10)
  • shardingsphere搭建使用,以及报错解决(一)

    shardingsphere搭建使用,以及报错解决(一)

    ShradingJdbc的搭建注意事項: (目前使用的Springboot的版本是 2.2.5 使用的shardingsphere的版本是 5.1.0) 1、 注意ShangrdingSphere的版本之间差异比较大,如果有问题的话尝试使用不同的版本 2、shardingsphere的数据源和durid数据源的兼容性有限,如果使用SpringBoot的话,如果使用 com.alibab

    2024年02月02日
    浏览(9)
  • iPXE 学习 部署Linux/Windows系统 支持IPv4/IPv6

    iPXE 学习 部署Linux/Windows系统 支持IPv4/IPv6

    折腾了一周的iPXE,大概弄明白了,ipxe原理 文件的具体作用就不讲了 自己也半懂不懂 不过有一说一 这可能是全网最完全的iPXE环境部署了 记录自己操作的每一个步骤 ┭┮﹏┭┮ 为了支持legacy BIOS 以及 UEFI 还要同时支持IPv4/IPv6 我先说一下  我的机器是多网卡  配置ipxe的端口

    2024年04月14日
    浏览(14)
  • Linux(openssl):通过编程检查证书是否为selfsign

     可以通过openssl提供的库函数验证 Linux(openssl):创建selfsign证书-CSDN博客 生成的正式是否为selfsign 

    2024年02月06日
    浏览(4)
  • unity 之 如何获取父物体与子物体

    unity 之 如何获取父物体与子物体

    在Unity中,你可以使用 Transform 组件的属性来获取对象的父物体。以下是在C#脚本中如何获取父物体的示例代码: 在这个示例中, transform 代表当前脚本所附着的物体的Transform组件。通过访问 transform.parent 属性,你可以获取当前物体的父物体。如果当前物体没有父物体(例如是

    2024年02月07日
    浏览(10)
  • PHP中读取(截取substr)字符串前N个字符或者从第几个字符开始取几个字符

    ```html ?php $str = \\\"123456789\\\";echo substr($str , 0 , 3);//从左边第一位字符起截取3位字符:结果:123echo substr($str , 3 , 3);//从左边第3位字符起截取3位字符:结果:456? ``` ```html ?php$rest = substr(\\\"abcdef\\\", -1);    // 返回 \\\"f\\\"$rest = substr(\\\"abcdef\\\", -2);    // 返回 \\\"ef\\\"$rest = substr(\\\"abcdef\\\", -3, 1); // 返回

    2024年02月20日
    浏览(8)
  • 深度学习:交叉验证(Cross Validation)

    深度学习:交叉验证(Cross Validation)

    首先,交叉验证的目的是为了让被评估的模型达到最优的泛化性能,找到使得模型泛化性能最优的超参值。在全部训练集上重新训练模型,并使用独立测试集对模型性能做出最终评价。 目前在一些论文里倒是没有特别强调这样的操作,很多研究使用的都是第一种:简单交叉验

    2024年02月02日
    浏览(10)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包