C++学习之路1 书写格式,要求,理解
建立C++项目:控制台程序项目.cpp
C++:面向对象编程
头文件:#include<iostream>,变量不在头文件中,在命名空间中
命名空间using namespace +std(或者自己定义的)
输出:cout << +变量名称 输入:cin >> +变量名称
换行并清空缓冲区:endl
输入后输出: cin>>a; cout<<a<<&a<<endl;
: :是作用域运算符---->前面没东西就是全局变量
同一个作用域不可以有两个相同的变量,但是可以定义命名空间,不同的命名空间就是不同的作用域
好处:利于C++的扩展性和复用性
使用方法:(1):cout<<Bird::nAge<<endl;
:在外面打开命名空间:using namespace Bird;
也可以std::cout<<a<<std::endl;
下断点必须启动调试----->可以告诉崩在哪儿--->手动加暂停:system(“pause”);---------->cmd控制台中
输入命令
BOOL头文件是#include <windows.h> BOOL是四个字节,是整型重命名,bool是char重命名,一个字节
/*--------------C语言中----------------------------------------------------------------------------------*/
定义字符串: char str1[10]=”abcd”; //栈区
char *str2=(char*)malloc(10); //指针指向字符常量区,不能修改,不能删除
Str2=”asdfgh”;
Free(str2);
Str2=0;
会崩掉,因为两者都不允许=赋值,可以=初始化
可以通过字符串的拷贝strcpy_s(目标,目标大小,来源);
/*--------C++中-----------------------------------------------------------------------------
--#include<iostream>
#include<string> //注意头文件的区别
Int main()
{
string str=’’aaa”;
cout<<str<<endl;
str=’’asdfgh’; //可以修改
str=str+”zxcvb”; //字符串的拼接
cout<<str<<endl;
cout<<(str==’’aaa”)<<endl; //判断字符串是否相等
return 0;
}
动态分配内存与释放
//new一个整型
int *p=new int;
*p=100;
delete p;
p=0;
//new一个整型数组
int * arr=new int [10]; int* arr=new int (10);
delete [] arr; 这是分配一个整型,直接用0初始化这个空间
arr=0;
//new一个整型的指针
int **p2=new int *;
delete p2;
p2=0;
//new一个整型的指针数组
int *(*p3)=new int *[3];
delete p3;
p3=0;
//new一个二维数组
int (*p4)[4]=new int [3][4];
delete []p4;
p4=0;
//new一个结构体
//new一个数组指针
指针:1.存地址 2.间接操作
不同书写方式可以理解成不同的意思
Int * p:定义一个变量
Int *p:定义一个指针,指向整型的空间
指针叫*p,去掉*p,剩余的就是要操作的空间