C++

1、非常量引用的初始值必须是左值

要理解这个先得理解左值和右值的概念一个区分左值与右值的便捷方法是:看能不能对表达式取地址,如果能,则为左值,否则为右值。

那么举个例子先int i = 5;int &a = i;这时编译通过但是如果 int &a = 5;

这样就出错了这个5和i有什么区别,答案就是5是右值,i是左值。

 

2、引用用法:函数调用作为左值

如果函数做左值,那么必须返回引用。

可以理解成a=test02()

#include<iostream>
using namespace std;
#include<string>

//返回静态变量引用
int& test02() {
	static int a = 20;
	return a;
}


int main() {

	
	//如果函数做左值,那么必须返回引用
	int ref2 =test02();
	cout << "ref2 = " << ref2 << endl;
	cout << "ref2 = " << ref2 << endl;

	test02() = 1000;

	cout << "ref2 = " << ref2 << endl;
	cout << "ref2 = " << ref2 << endl;

	system("pause");

	return 0;
}

3、深拷贝与浅拷贝

 

6、拷贝构造函数以值方式返回局部对象时,返回的新的一个对象。

4、类的空对象占用一个字节。

5、类的成员属性命名:m_ 开头,m是member的意思。

 

 

 

  6、空可以这么写:head==NULL      head== nullptr    !head    三种都可以。。

非空可以这么写:b     b->next。

哑结点可以这么写:ListNode* dummy = nullptr;

       

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值