C++ 对引用的理解5

  1. 常量引用
int main()
{	// int &m = 10; // 错误, 引用必须引一块合法的内存空间(什么是合法的内存空间, 这个10在程序中有内存吗?)const int &m = 10;  //加入const后,语法就通过了,编译器优化,类似 int temp=10; const int &m = temp; // 可以通过指针来修改 const值int *p = (int *)&m;*p = 1000;cout << m << endl;return 0;
}
  1. 常量引用的使用场景
// 引用常用作形参,这样不用进程值拷贝,const 加在引用前面是保证数据不被修改
void test1(const int &a) {
// 	a = 10000; //错误,不可以修改cout << a << endl;
}
void useConstRef() {int a  = 3;test1(a);
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/382661.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

为什么计算机起始时间是1970年1月1日

1969年8月&#xff0c;贝尔实验室的程序员肯汤普逊利用妻儿离开一个月的机会&#xff0c;开始着手创造一个全新的革命性的操作系统&#xff0c;他使用B编译语言在老旧的PDP-7机器上开发出了Unix的一个版本。随后&#xff0c;汤普逊和同事丹尼斯里奇改进了B语言&#xff0c;开发…

C++ 使用extern C简单使用

先说一下函数重载&#xff0c; C 之所以会进行函数重载&#xff0c; 是因为对函数名进行二次修饰(重新命名) 在C文件中写好的程序&#xff0c; C引入过来&#xff0c;却没法使用提示 无法连接的外部符号&#xff0c;那是因为C按照C的函数命名机制来寻找函数的实现. 第一种情况&…

IP数据包格式netinet/ip.h

转载地址https://www.cnblogs.com/embedded-linux/p/4986449.html 头文件netinet/ip.h中定义ip&#xff1a; struct ip{#if __BYTE_ORDER __LITTLE_ENDIANunsigned int ip_hl:4; /* header length */unsigned int ip_v:4; /* version */#endif#if __BYTE_ORDER __BIG_ENDIA…

c 结构体的简单封装1

先看C语言的 借助结构体 struct Person{char name[64];int age; }; void PersonEat(struct Person *p) {printf("%s在吃饭", p->name); } void test() {struct Person p;strcpy(p.name, "隔壁老王");PersonEat(&p); }

C++ 构造函数分类以及调用

#define _CRT_SECURE_NO_WARNINGS #include<iostream> using namespace std;//1、分类 //按照参数进行分类 有参构造函数 无参构造函数&#xff08;默认构造函数&#xff09; //按照类型进行分类 普通构造函数 拷贝构造函数 class Person { public://默认构造Per…

内存泄漏Valgrind

#内存泄漏Valgrind valgrind --toolmemcheck --leak-checkfull [Your progame option]; https://cloud.tencent.com/developer/article/1006199 https://www.cnblogs.com/zhoudayang/p/6110360.html https://www.cnblogs.com/napoleon_liu/articles/2001802.html https://…

C++ 拷贝构造函数的使用场景

#define _CRT_SECURE_NO_WARNINGS #include<iostream> using namespace std;class Person { public:Person(){cout << "默认构造函数调用" << endl;}Person(int a){m_Age a;cout << "有参构造函数调用" << endl;}Person(co…

大数据多路归并算法

https://blog.csdn.net/wongson/article/details/49209903 先把一个大的数据分成若干小份&#xff0c;然后对这些小份文件进行排序。排序好之后对这些小份文件进行如下处理。 我们举个简单的例子&#xff1a; 文件1&#xff1a;3,6,9 文件2&#xff1a;2,4,8 文件3&#xff…

C++ 深浅拷贝 01

1.C中成员对象如果指向了堆内存的空间&#xff0c;如果这时候使用了系统提供的拷贝构造函数&#xff08;默认浅拷贝&#xff09;&#xff0c;会造成内存重复释放的问题&#xff0c;导致程序down掉&#xff0c;解决办法修改默认的拷贝构造函数&#xff0c;也给新的对象需要堆内存…

文件描述符和fcntl及阻塞非阻塞

Linux 文件描述符和重定向 https://www.cnblogs.com/chenmh/p/5382044.html fcntl函数的用法总结 https://www.cnblogs.com/zxc2man/p/7649240.html 简述linux同步与异步、阻塞与非阻塞概念以及五种IO模型 https://www.cnblogs.com/chaser24/p/6112071.html

C++拷贝构造函数的调用时机

#define _CRT_SECURE_NO_WARNINGS #include<iostream> using namespace std;class Person { public:Person(){cout << "默认构造函数调用" << endl;}Person(int a){m_Age a;cout << "有参构造函数调用" << endl;}Person(co…

守护进程nohup的用法

使./a.out后台运行 nohup ./a.out & exit // 如果你使用的bash客户端或者是screen窗口&#xff0c;直接关闭窗口那么该进程也会终止&#xff0c;所以要用exit关于nohup重定向 在使用nohup命令的时候&#xff0c;经常由于输出nohup.out的路径没有写入权限&#xff0c;而无…

C++ 不懂的地方 记录01

C 中初始化列表&#xff0c; 的详细使用&#xff1f;没有默认构造函数的类类型&#xff0c;因为使用初始化列表可以不必调用默认构造函数来初始化&#xff0c;而是直接调用拷贝构造函数初始化 这句话不是很理解 //手机类 class Phone { public:Phone(string pName){cout <&…

简答面向数据报,面向字节流

先来一个例子 用UDP传输100个字节的数据: 面向数据报 如果发送端调用一次sendto, 发送100个字节, 那么接收端也必须调用对应的一次recvfrom, 接收100个字节; 而不能循环调用10次recvfrom, 每次接收10个字节; 面向字节流 由于缓冲区的存在, TCP程序的读和写不需要一一匹配…

TCP三次挥手四次握手(面试总结)

1、 为什么建立连接协议是三次握手&#xff0c;而关闭连接却是四次握手呢&#xff1f; 全双工通信。 这是因为服务端的LISTEN状态下的SOCKET当收到SYN报文的建连请求后&#xff0c;它可以把ACK和SYN&#xff08;ACK起应答作用&#xff0c;而SYN起同步作用&#xff09;放在一个…

C++ 有参构造 无参构造 拷贝构造 以及参数化列表 成员对象之间的执行关系

#include <iostream> #include <string> using namespace std; class Phone { public:string m_pname;/*Phone() {cout << "无参构造" << endl;m_pname "vivo";}*/Phone(const Phone &p) {cout << "拷贝构造"…

C++ this指针初步使用,与链式编程

#include "pch.h" #include <iostream> #include <string> using namespace std;class Person { public:int m_age;Person(int age) {this->m_age age;}Person & addAge(Person &p) { // 返回对象的引用this->m_age p.m_age;return *…

linux的makefile -I(大写i)-L(大写l)-l(小写l)

gcc -o hello hello.c -I /home/hello/include -L /home/hello/lib -lworld 上面这句表示在编译hello.c时&#xff1a; -I /home/hello/include 表示将/home/hello/include目录作为第一个寻找头文件的目录&#xff0c;寻找的顺序是&#xff1a;/home/hello/include–>/us…