[1]【C++Primer】第七章 函数

【C++ Primer(5th Edition) Exercise】练习程序 - Chapter 7(第七章) 以下程序由 Teddy van Jerry (我自己)编写并运行,基本保证正确性。*(有时可能会为优化程序超前使用某些内容)* 阅读详情

1.调用函数的指针形参,指针不能改变,但指针所指向的值会改变。若不想指针所指向的值改变,则用const指针

如调用函数实现交换两个值:

方法一:利用指针形参

#include<iostream>
using namespace std;

void swap(int *a,int *b)
{
	int temp = *a;
	*a = *b;
	*b = temp;
}

int main()
{
	int a = 5,b = 6;
	 swap(a,b);
	 cout << a << endl
		 << b << endl;

	system("pause");
	return 0;
}
方法二:利用引用形参

#include<iostream>
using namespace std;

void swap(int &a,int &b)
{
	int temp = a;
	a = b;
	b = temp;
}



int main()
{
	int a = 5,b = 6;
	 swap(a,b);
	 cout << a << endl
		 << b << endl;

	system("pause");
	return 0;
}

2.函数返回多个返回值,可以多加一个引用形参,就可以搞定,解决了oj上总是统计次数的问题,当时还想着怎么才能返回多个返回值,需要用结构体什么的,看来还是看书看的不仔细。

#include<iostream>  
using namespace std;  
  
void swap(int &a,int &b,int &cnt)  
{  
    int temp = a;  
    a = b;  
    b = temp;  
	cnt = 2;
}  
  
  
  
int main()  
{  
    int a = 5,b = 6,cnt = 0;  
     swap(a,b,cnt);  
     cout << a << endl  
         << b << endl
		   << cnt << endl;
  
    system("pause");  
    return 0;  
}  

3    使用引用形参,函数可以直接访问实参对象,而无需复制,这样就可以避免复制很长的对象。

bool isShorter(const string &s1,const string &s2)
{
        return s1.size() < s2.size();
}





C++ Primer 第七章 Screen类与Window_mgr类 阅读详情

相关推荐

C++primer plus和C++ primer的读书心得

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

weixin_40548480的博客 3109

2012/1/19 《C++ Primer Plus》第七章:函数——C++编程模块 学习笔记

《C++ Primer Plus》第七章学习笔记   79:要使用C++函数,需要完成:         1、提供函数定义;         2、提供函数原型;         3、调用函数。   80:函数如何返回值:通过将返回值复制到指定的CPU寄存器或内存单元中来将其返回,随后调用程序将查看该内存单元。(通过学习计算机组成,这个寄存器是$v0和$v1)   81:C++的编

记路 857

C++Primer第五版 第七章习题答案(11~20)

11:知识点1:构造函数—特殊的成员函数,用来控制对象的初始化过程。无返回类型,可重载,不能被声明为const. 知识点2:若无,则有默认的构造函数,是编译器自己隐式的定义的。又称合成的默认构造函数。 知识点3:某些类是不能使用默认的构造函数的,以下三个原因: 1:在未声明任何构造函数的前提下,类内对象的初始化将不受控制 2:合成的默认构造函数可能会造成不必要的错误,如若没有类内初始值来初始化成员,可能这些成员将是未定义的。

MISAYAONE的博客 1万+

C++ primer 第七章.类——成员函数,构造函数与初始化(1)

以下例子均以类class A为例 1.成员函数 其参数默认包含一个类类型的常量指针 A* const this,调用时该指针指向调用对象 const成员函数:在函数的参数列表后加上const,代表const成员函数(并非返回const对象)。带有const修饰的成员函数代表将this指针修饰为底层const,此时形参格式为const A* const this(即指针自身不可 修改,指针

NeverTheLevius的博客 781

C++Primer第五版 第七章习题答案(1~10)

1:知识点1:类的定义方法:struct和class两种方法的用法和区别。 知识点2:类内成员的初始化方法:成员初始化列表。编译器会调用构造函数初始化成员,可以被重载。 首先举个例子方便于理解: #include #include #include using namespace std; /* C++ 中保留了C语言的 struct 关键字,并且加以扩充。在C语言中,struct

MISAYAONE的博客 1万+

Pytorch transformers tokenizer 分词器词汇表添加新的词语和embedding

NLP添加新词汇

7322

C++ Primer Plus学习:第七章 函数-C++的编程模块(1)

函数   void functionname(parameterlist) {     statement(s);     return ; } 指针   const     让指针指向一个常量变量       int age = 39; const int * pt

卖包子的大夫 446

西门子RS485自由口通信Modbus RTU 通信协议

部分西门子的RS485模块不能使用西门子自带的Modbus RTU通信指令,需要通过自己拼接、发送、接收和解析报文完成Modbus RTU通信。通过多次尝试完成该功能: #R_TRIG_Instance(CLK := #触发, Q => #触发上升沿); IF #触发上升沿 THEN // 触发后先将读取完成复位 #读写完成 := 0; END_IF; CASE #功能码 OF 1: // 线圈状态读取 ; 2:

qq_20792765的博客 1万+

C ++ Primer(第五版)第七章练习答案

C ++ Primer(第五版)第七章练习答案7.1.1 节练习练习 7.17.1.2 节练习练习 7.2练习 7.3练习 7.4练习 7.57.1.3 节练习练习 7.6练习 7.7练习 7.8练习 7.9练习 7.10 7.1.1 节练习 练习 7.1 使用 2.6.1 节练习定义的 Sales_data 类为 1.6 节(第 21 页)的交易处理程序编写一个新版本。 同练习 2.42 7.1.2 节练习 练习 7.2 曾在 2.6.2 节的练习(第 76 页)中编写了一个 Sales_data类

不是机器人的博客 1798

避坑指南:Abaqus网格划分中90%用户会遇到的5个质量陷阱(附解决方案)

本文深入剖析Abaqus网格划分中90%用户会遇到的5个典型质量陷阱,包括单元扭曲、扫掠网格失败、尺寸梯度控制等,并提供工程级解决方案。通过Python脚本和虚拟拓扑等技巧,帮助用户提升网格质量,确保有限元分析结果的可靠性,适用于CAE工程师和仿真分析师。

weixin_29243279的博客 99

C语言入门—初识C语言

一、C语言概述 1、什么是C语言 语言是用来交流沟通的,有一方说,有一方听。必须要两方参与。(自言自语的除外) 语言是人与人交流,而C语言是人与机器交流 语言有独特的语法规则和定义,双方必须遵循这些规则和定义才能实现真正的交流。 接下来首先了解下计算机的组成: 2、计算机介绍 2.1、计算机结构组成 2.2、计算机系统组成 2.3、程序的指令 指令是对计算机进行程序控制的最小单元 计算机的指令系统是指所有指令的集合 程序是指为完成某一项特定任务而用某种言语编写的一组指令序列 3、C语言发展历程 3.

jun319817的博客 1035

C++ Primer Plus 第六版 第七章编程练习答案

#include &lt;iostream&gt; #include &lt;cstring&gt; double q1(double a, double b); void q2(); int enter(double * arr, int size); void show(double arr [], int size); double mean(double * arr, int size)...

biubiu_buaa的博客 884

ChatGPT Plus完整开通指南:从账号注册到稳定使用全流程

自然语言处理(NLP)技术通过深度学习模型实现对人类语言的理解与生成,其核心原理是基于Transformer架构的大规模预训练。GPT-4作为当前最先进的生成式AI模型,在代码编写、文档分析等场景展现出显著的技术价值。在实际应用中,稳定的网络环境和合规的支付方式是确保AI助手持续服务的关键因素。针对ChatGPT Plus的开通,需要系统性地解决账号验证、虚拟信用卡支付等工程实践问题,才能实现工作流的高效整合。

weixin_34239592的博客 428

C++primer Plus 第七章复习题

复习题

m0_57370693的博客 631

Vue2 - 详细实现解析Markdown内容生成侧边栏Toc目录索引,识别文章内容根据大标题/小标题自动生成多级文章目录,点击目录导航时跳转到文章内容对应的锚点位置带过渡动画,滑过锚点时高亮对应标题

vue2,nuxt2,Markdown,目录,文章目录锚点,滚动高亮导航文字,根据页面滚动高亮显示目录的侧边栏,自动提取标题生成右侧目录,vuemarkdown解析并生成目录,滚动页面的时候文章目录跟着选中效果,侧边栏滚动跟随页面,右边目录固定,左边内容可以滚动并且与左边目录联动,实现监听滚动,锚点定位,文章目录滚动跟随高亮,右边菜单点击目录滚动到对应标题,报错,渲染失败,文章内容,读取#标题符号,自动生成一个目录树,自动生成Toc目录,博客内容生成目录索引,资讯文章,生成锚点目录树TOC,详细示例代码教

🏆 前端领域优质创作者 3668

IEEE S&P 2026 大模型安全论文整理

本文梳理了 IEEE S&P 2026(第47届 IEEE 安全与隐私研讨会)中与 LLM Safety 相关的论文,涵盖大模型越狱攻击、防御与对齐、隐私保护、RAG 安全、多模态大模型安全、智能体安全、图-LLM 安全、工具链安全及生成式 AI 安全与隐私等方向。

CSPhD-winston的博客 1334

C++ primer 第七章习题

chapter7 类 文章目录chapter7 类练习7.1.1 节练习练习7.17.1.2 节练习练习7.2练习7.3练习7.4练习7.57.1.3节练习练习7.6练习7.7练习7.8练习7.9练习7.107.1.4节练习练习7.11练习7.12练习7.13练习7.14练习7.157.2节练习练习7.16练习7.17练习7.18练习7.197.2.1节练习练习7.20练习7.21练习7.227....

hwl19951007的博客 1321

1位2路选择器设计

1位2路选择器设计

好好学习,天天向上 3577

C++ primer 第七章笔记总结

看完C++ Primer的第七章,觉得这一章值得被一看再看,现写了一些总结,尽量囊括知识点,但绝不冗余,力求简单易懂。 第七章的题目是 函数 定义: int  add ( int  x, int  y) {} 前面的int为返回参数类型。 add 是函数名,同时也是函数的地址。(这一句很重要) 括号内 是形参表,其中的形参便是在这里定义,在函数调用时进行初始化的。 {}内是函数体。函

绝知此事要躬行 1322

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

C++ primer plus (第六版)第七章arrfun3.cpp 代码及解释

如有失误之处,还恳请指教!!! // arrfun3.cpp -- array functions and const #include &lt;iostream&gt; const int Max = 5; // function prototypes //函数原型,返回值为int类型,有两个参数,一个是double类型的数组,一个是int类型。 int fill_array(double a...

weixin_38401090的博客 312

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

c++ Primer 第七章:类 练习答案记录

c++ Primer 第七章:类 练习答案记录

Is_Superman的博客 2025

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

(C++Primer第五版)第七章

// ConsoleApplication1.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。 // #include <iostream> #include <vector> #include <string> using namespace std; /* 友元不具有传递性,B为A的友元,C为B的友元 , B可以访问A的私有,但是C不可以访问A的私有 */ class Screen { private: typedef strin.

lvcuncc的博客 297

C++ Primer Plus 第七章总结

C++ Primer Plus 第七章部分易忘的内容归纳一下

Xu__que的博客 541

GetQzonehistory:把十年QQ空间历史说说完整导出,Excel和网页一次拿全

GetQzonehistory 是一个本地运行的 Python 小工具,用来把你 QQ 空间发过的历史说说完整抓取下来,导出成 Excel 表格和一个还原空间样式的网页文件,长期存在自己的硬盘里。适合说说发得多、想把这些旧记录完整存档的人。 ## 先说结果:跑完之后你会得到什么 程序跑完后会自动打开 `resource/result/你的QQ号/` 这个文件夹,里面是一套完整的东西: | 产

gitblog_00301的博客 631

C++Primer 函数

C++Primer 函数 目录 C++Primer 函数 1、参数传递 1.1、含有可变形参的函数 1.2、数组形参 2、返回类型和return语句 2.1、列表初始化返回值 2.2、返回数组指针 3、函数重载 3.1、顶层const与底层const 3.2、const_cast与static_cast 3.3、const_cast与重载 4、函数指针 4.1、使用函数...

qq_34029983的博客 5040
上一篇: 【oj1953】字符个数统计
下一篇: MySQL语法大全
洞之蝉
博客等级 码龄16年 237粉丝 259原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值