C++学习笔记(一)

博客主要围绕C语言到C++的过渡,以及面向对象微观部分中类的组成展开,涉及从C语言到C++的转变要点,还有类的具体构成等信息技术相关内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

C语言到C++的过渡

C++手册:https://www.apiref.com/cpp-zh/cpp.html
------------------------------------------------------------
C语言:面向过程,复用性差,维护成本高;
C++:既面向过程,又面向对象,更加模块化,高度复用性,更容易维护;
------------------------------------------------------------------------
Linux中一切皆文件,也是一种面向对象;
-------------------------------------------------------------------------
创建C++文件:xxx.cpp
------------------------------------------
可以使用gcc编译,但是需要链接标准C++库 gcc xxx.cpp -lstdc++(了解,不建议使用)
----------------------------------------------------------------------------------
推荐使用g++编译,例如 g++ xxx.cpp
---------------------------------------------
名字空间:namespace:
--------------------------
namespace 名字标识
{
   
   声明或定义名字空间的变量、函数、类etc;
}
---------------------------------------------
C语言:scanf/printf		'\n'
C++:cin/cout		endl
-----------------------------------------
名字空间的作用:避免同名变量及函数之间冲突问题;
-----------------------------------------------------
using可以有类似于typedef的用法
----------------------------------------
比如:
typedef int int32;
using int_32 = int;
------------------------------------
名字空间可以进行嵌套:
namespace A
{
   
	namespace B
	{
   
		
		int a = 666;
		void show()
		{
   
			cout << "good good study, day day up!!!" <<endl;
		}

	}

}
---------------------------------------------------------
C++中的域名解析符(域名访问符)"::"
-------------------------------------------------
cout << A::B::a <<endl; //666
A::B::show();  //good good study, day day up!!!
--------------------------------------------------
using关键字用法:
-----------------------
using + namespace +名字标识   //把名字空间的所有标识导入当前域中
using + 名字标识::指定变量或函数  //指定导入变量标识或函数标识到当前域中
using int_32 = int;   //与typedef用法相同,给类型起一个别名
-------------------------------------------------------------------
1、单行注释:

Ctrl + /

或 先按CTRL+K,再按CTRL+U

取消单行注释:

Ctrl + /

或 先按CTRL+U,再按CTRL+K

2、块注释

Alt + Shift + A
3.代码对齐
Ctrl + i
----------------------------------------------


//c_str():生成一个const char*指针,指向以空字符终止的数组。
-----------------------------------------------------------------------------
//这个数组应该是string类内部的数组

//string-->char*
    //c_str()函数返回一个指向正规C字符串的指针, 内容与本string串相同
 
    //这个数组的数据是临时的,当有一个改变这些数据的成员函数被调用后,其中的数据就会失效。
-------------------------------------------------------------------------------
string s = "1234";
    c = s.c_str();
    cout<<c<<endl;//1234
    s = "abcde";
    cout<<c<<endl; //abcde
----------------------------------------------------------------
C++字符串:
-----------------------------
#include <cstring>
-------------------------------
 // 复制 str1 到 str3
   strcpy( str3, str1);
   cout << "strcpy( str3, str1) : " << str3 << endl;
 
   // 连接 str1 和 str2
   strcat( str1, str2);
//连接字符串 s2 到字符串 s1 的末尾。连接字符串也可以用 + 号

   cout << "strcat( str1, str2): " << str1 << endl;

   string str = str1 + str2;

   // 连接后,str1 的总长度
   len = strlen(str1);
   cout << "strlen(str1) : " << len << endl;
---------------------------------------------------------
引用的语法:
--------------------------------
类型& 引用变量 = 变量;

引用变量就是变量的别名,没有开辟新的变量的空间。

所以引用最大使用场景是传参。
-------------------------------------------------------------
const修饰的常引用的好处:

1.可以提高传参效率

2.可以保护实参的安全

3.可以引用常量(语法糖)
----------------------------------------------------------------
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值