嵌入式培训经验分享——C++入门基础知识

在学习嵌入式的过程中,C++是我们所必须具备的专业技能,它可以帮助我们对后面的学习Qt的知识点更加轻松,C++其实就是在C语言的基础上增加更多的一些技能,所以C语言的语法在C++中同样适用,我们只需要学习它增加的一写特性和用法就可以了。

1、我的第一个C++程序

#include 
#include 

using namespace std;

int main()
{

	cout << "this is my first cpp" << endl;
	cout<<"string="<<"hello cpp"<

 cout 类似于printf :
            printf("hello %s  %d %d %d",............);
            cout << 打印的内容<

2、 const 用法
        C语言: const  int aa =8;
                定义一个只读型的变量  aa =10 ;报错
               #define  AA 88
               C一般使用宏来定义常量,但是这种用法有缺陷
                主要是没有指定类型,
        C++:        const  int aa = 88;
                        定义一个常量

#include

int aa=8;
//int const aa=8;  //C语言中数组的定义只能适用常量,const修饰的是C语言中的变量
int arr[aa];  //arr define args must be const 

int main()
{



}

#include
using namespace std;

const int aa=8;
int arr[aa];

int main()
{
//C++中的编译可以通过



}

3、内联(inline)

其实内联的用法和我们使用C语言的宏定义是基本一致的,但是在C++中没有宏定义的用法,就产生了内联的用法,可以函数内联,与宏定义相比,可以提高函数执行的效率。同样是在编译的时候编译器会替换内联的函数或者表达式。

#include 
 
using namespace std;

inline int Max(int x, int y)
{
   return (x > y)? x : y;
}

// 程序的主函数
int main( )
{

   cout << "Max (20,10): " << Max(20,10) << endl;
   cout << "Max (0,200): " << Max(0,200) << endl;
   cout << "Max (100,1010): " << Max(100,1010) << endl;
   return 0;
}

4、函数重载

这是C++中比较多数的用法,指定一个函数名可以有多重用法,在C语言中将会提示重命名错误,是C++中比较独特的用法。

#include
using namespace std;


int sum(int a,int b)
{
	cout<<"in sum(int ,int )"<

5、函数的默认值

#include
using namespace std;

double circle_square(double r=2,double pi=3.14)
{
	return pi*r*r;
}


int tixing_square(int top,int bottom=3,int height=2)
{
	return (top+bottom)*height/2;
}

int main()
{

	int tsqr1=tixing_square(4,6);
	cout<<"tixing_square "<############ 函数的默认值 #######################
		double circle(double r, double pi=3.14) {  return pi*r*r; }

		double sqr0=circle(5.0 );		当没有传递该值得时候,是用默认 
		double sqr1=circle(5.0, 3.1415);当传递的时候,使用传递的值
		
		歧义:
			int square(int a=6,int b=7 ,int c);
			int cc = square(9,7);歧义问题
			如何解决:
				默认值必须从右往左依次给值,中间不要跳跃
				传参的时候,从左往右依次赋值

6、命名的空间

C语言中我们有时候定义变量的时候会存在变量名重复的情况,而在C++中就解决了这一问题,给每个用户都分配了自己的一片空间,在自己的空间之内命名的变量名不会产生重命名的问题。

#include
#include 
using namespace std;     //std是一个命名空间, C++库提供,内部实现了很多的功能


namespace ming{	//这一片空间属于小明的,他随便搞,ming在里面写代码
	int aa = 5;
	int bb = 66;
	int ming_1=12;

	int fun(int a) {printf("in ming fun(int a)\n"); return a;}
	
	int fun1(void){ printf("in ming fun1\n"); return 0;}
	int fun2(void){ printf("in ming fun2\n"); return 0;}
	int ming_fun(void){printf("in ming_fun(void)\n"); return 0;};
	//.....
};

namespace wang{ 
	int aa=33;
	int bb=22;
	
	int fun1(void){ printf("in wang fun1\n"); return 0;}
	int fun2(void){ printf("in wang fun2\n"); return 0;}
	
	int fun(int a){ printf("in wang fun(int)\n"); return a; }
	int wang_fun(void){printf("in wang_fun(void)\n"); return 0;};
	int wang_fun1(void){printf("in wang_fun1(void)\n"); return 0;};
	//..
};

//最外层是  main 的空间
int aa = 99;
int bb = 88;

int fun(int a) { printf("in main fun(int a)\n"); return a; }

int main()
{
	int aa=77;

//### 方法1:
	cout<<"################## fangfa 1 ###################"<

你可能感兴趣的:(开发语言,经验分享)