C++(11):成员函数饰词

C++11为成员函数提供了通过左值调用还是右值调用的装饰词:

cpp 复制代码
#include <iostream>
using namespace std;
 
class A{
	public:
	void fun() &{
		cout << "fun() &" << endl;
	}
	void fun() &&{
		cout << "fun() &&" << endl;
	}

};

A createA(){
	return A();
}

int main(){
 
	A a;
	a.fun(); // 调用 fun() &
	createA().fun(); // 调用 fun() &&
	
	return 0;
}

运行程序输出:

fun() &

fun() &&

可见通过这种方式,我们可以区分通过左值还是右值来调用成员函数。

相关推荐
oier_Asad.Chen23 分钟前
【OI学习笔记】Floyed-Warshall算法解决传递闭包问题
c++·笔记·学习·算法·图论·最短路·传递闭包
zmzb010342 分钟前
C++课后习题训练记录Day179
开发语言·c++
hansang_IR1 小时前
【题解】[COCI 2024/2025 #2] 流明 / Blistavost
c++·算法·动态规划·dp
不正经学生1 小时前
C语言指针进阶:const 和野指针——给指针加锁,向野指针宣战
c语言·开发语言·c++·算法·c#
程序喵大人1 小时前
【C++进阶】STL算法与函数对象 - 01 让算法去处理一段迭代器范围
开发语言·c++·算法·函数对象
旖旎夜光2 小时前
LeetCode 738:单调递增的数字(贪心算法) —— 题解
数据结构·c++·算法·leetcode·贪心算法
旖旎夜光2 小时前
LeetCode 1262:可被三整除的最大和 (贪心算法)—— 题解
数据结构·c++·算法·leetcode·贪心算法
蒸蒸yyyyzwd3 小时前
cpp 选手转 ai infra 后端秋招学习笔记 day1
c++·transformer
A_cainiao_A3 小时前
【ggml系列】【第四篇】ggml_graph_compute 多线程计算引擎与算子分发源码深度解析
开发语言·c++·矩阵
影视飓风TIM3 小时前
C++ STL 完整入门笔记[9]:C++ 仿函数、priority_queue与STL算法底层笔记
数据结构·c++·笔记