
c/cpp
赶往罗马的牛马
不积跬步无以至千里,不积小流无以成江海
展开
-
强制类型转换
1、隐式类型转换:系统会自动进行,无需介入//会造成一定的精度损失int a=3+34.9double n=3+35.92、强制类型转换2.1、c语言风格强制类型转换int a=(int)2.3;//强制类型转换//命名的强制类型转换通用形式强制类型转换名<type>(express);type:目标类型express:要转换的对象2.2、static_cast:静态转换编译的时候会进行类型转换,这个静态类型转换和c强制类型转换差不多可用于:(1)相关类型转换原创 2022-01-17 09:41:50 · 3084 阅读 · 0 评论 -
string简单操作
1、字符串初始化 //常用初始化方法 string s1;//默认构造 string s2("hello");//有参构造 string s3(s2);//拷贝构造 strng s4(int num,'x');//通过字符初始化 2、字符串常用方法2.1判断是否为空empty();string s1;if(s1.empty()){}else{}2.2返回字节/字符数目sizeof()/length()string s1("hello");s1.size();s1.le原创 2022-01-16 16:47:40 · 279 阅读 · 0 评论 -
快速理解常量指针、指针常量、常量引用修改值与地址的问题
1、*常量指针和指针常量,如何判断值可改还是地址可改(p表示值,p表示地址)1.1、如果const 修改得是*p即const 在*p左边,可以认为const修饰得是p指针所指向得内容,说明内容不可以修改,但是地址可以修改。当然值可以通过str[index]='x';的方式可以修改,只是不能用指针来操作了。注意:const char*p等价于char const *p两种方式一个意思,都表示常量指针//常量指针,指针修饰得是p指向的值char str[]="hello";const char*原创 2022-01-16 15:36:32 · 838 阅读 · 0 评论 -
函数前置声明与后置声明、内联函数
1、函数常规前置声明//常规函数声明形式void func(int&,int&){ pass}2、新特性 函数后置声明//C++11出现得后置声明auto func(int&,int&) -> int{ pass}3、inline function//函数前面加inline变成内联函数/**//编译阶段对内联函数进行处理提高运行效率 //cpp关键字constexptr也是为了在编译阶段处理常量以提高程序效率//高雅一点就是在编译阶原创 2022-01-16 14:56:30 · 647 阅读 · 1 评论 -
c++左值与右值
int a=10;int b=20;首先可以简单认为等号左边的变量为左值,等号右边为右值,这当然是不准确的。更深一点,左值是存储在内存中,有明确地址的称为左值。例如a,b在内存中存储,都有一块地址。右值是可以为左值提供数据值的数据。例如10,20只是起到赋值的作用。a=b;例外情况,在这里虽然 b在式子右边为a赋值,但是b也是有一块内存存储的,所以b也是左值,不能简单认为b是右值。...原创 2022-01-12 19:02:12 · 213 阅读 · 0 评论