c++知识点

本文介绍了C++编程的一些关键知识点,包括:vector元素不可为引用,类外定义inline成员函数的位置要求,string与int之间的转换,直接初始化与拷贝初始化的区别,explicit关键字的作用,常量引用和指向常量的指针的特性,顶层const与底层const的含义,const成员函数的功能和使用,以及静态成员的类内初始值设定。这些内容对于理解和提升C++编程技能至关重要。
摘要由CSDN通过智能技术生成

1. vector中的元素不可以是引用

引用不是对象,它只是为一个已经存在的对象所起的另外一个名字。
vector是对象的容器,而引用不是对象,因此组成vector的元素不能是引用。


2. 若要在在类外定义的某个类的inline成员函数,则要把定义写在和该类同一个头文件中,不要写在其他的源文件中,否则会造成链接错误

// ……
class A
{
    void f();
};

// ……
inline void A::f()
{
}

3. string与int转换

1. string转int
string str;
int val = atoi(str.c_str());
//atoi() 是C标准库中的一个函数
2. int转string
//方法一:
int val = 1;
char buf[10];
_itoa_s(val, buf, 10);
string s(buf);
//itoa()是非标准C函数(部分编译器可以使用,跨平台最好不用)。三个参数分别是:要转换的int,目标字符串,转换基数(10:十进制;2:二进制……)
//方法二:
#include <sstream>
int val = 1;

stringstream stream;
stream << val;
string str = steam.str();
//使用string流
//方法三:
#include<string>
int val = 1;
string str = to_string(val);
//使用C++11新引入的to_string函数

4. 直接初始化、拷贝初始化

在初始化一个变量的时候,一般通过两种方式来初始化:

string s1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值