c++第一天

一:最简单的 hello world

include <iostream>
using namespace std;

int main(){
	cout << "hello world" << endl;
	return EXIT_SUCCESS;	//其实就是0
}

二:cpp中使用c函数

如果想在cpp文件中使用c语言函数,需要加上如下几行(vs上需要,clion不需要。。。)

#include "pch.h"
#include <iostream>
#define _CRT_SECURE_NO_WARNINGS	//1:
#pragma warning(disable:4996)	//2:
using namespace std;

int main()
{
	char p[]="abc";
	strcpy(p,"123");
	cout << p << endl;
}

三:作用域 、:: 、命名空间

using namespace std;
int value = 200;

int main(){
    int value = 100;
    cout << value << endl;
    cout << ::value << endl;	//直接使用 :: 就是全局作用域
}
100
200
  • 命名空间:用来解决命名冲突的问题
    命名空间中可以放:函数、结构体、变量、类
    在头文件中
namespace MySpace{
	void func1();
	void func2();
	void func3();
	...
}
MySpace::func1();
  • 命名空间的合并
namespace A{
}
namespace A{
}

这两个命名空间会合并为一个

四:C++中的const

c++中const不会分配内存(使用符号表,下面的情况 key=a value=10),类似于宏定义,在编译的时候直接替换,这种情况的const是无法修改的,要修改会生成临时变量。
如果写了如下代码:

const int a = 10;
int* p = (int*)&a;	//这句话会为a临时开辟一块内存空间,相当于 int tmp = a; int* p = &tmp;

但如果用变量定义的const,会分配内存,这个时候就可以改

int a = 10;
const int b = a;
int* p = &b;
*p = 20;
cout << b << endl;//输出为20

const变量作为结构体或者类的成员变量时,也会分配内存

struct Person{
	const int a;
}

五:extern的用法

c++中要让一个变量可以被外部访问
定义的文件中:

extern int a = 10;

使用的文件中:

extern int a;

由此可见,c++在定义和使用的文件中,都要使用extern声明外部变量

六:引用

就是起别名,主要说说和指针的区别,const引用

  • 引用不是变量,所以必须初始化
  • 引用初始化之后就不能修改
  • 不要返回局部变量的引用
  • 引用不能为 NULL
  • 如果函数返回的是引用,函数可以作为左值
int& func(){
}
func() = 20;

引用的本质
在编译器中,引用是用指针常量实现的(指向常量的指针),因此引用所占空间大小和指针相同,只是这个过程是内部实现的,用户不可见。

常量引用

const int& ref = 0;	//加入const后,编译器处理方式 int tmp=10; const int& ref = tmp;

但是下面这种写法是错误的

int& ref = 10;	//错误
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值