2-ndk学习之c++基础篇(1)
2020-01-15 本文已影响0人
ftd黑马
c++是在c的基础上进行封装的,数据类型基本上都差不多,最大的差异就表现在c++是面向对象的语言,在c++中,有class的概念,还有些细节上面的不同。
c++文件的后缀名是.cpp,在c++中,引用文件是#include<iostream>等这种方式,并不像c文件中的(#include <stdio.h>)这种加.后缀的形式。c++中的头文件#include<iostream>,代表的就是c++标准,类似于c中的stdio.h
c++中引用c的头文件
extern "C" {
#include "Test.h"
}
这是因为c语言和c++ 语言编译出来的方法标记不同,是无法完成兼容 c++ 使用 c语言的,extern ”C“ 编译器 这部分的代码,以C的形式来编译,就可以对上了。
c++中的命名空间
c++的输出代码:
std::cout << "Hello, World!" << std::endl;
其中std是c++中的命名空间的概念,是c++才有的,c中没有,类似于java中的import(导入)
命名空间我们可以在main方法外加using namespace std;那这时候我们的输出语句就可以写为:
cout << "Hello, World!" << endl;
它俩是一个意思,我们还可以写自定义命名空间
namespace ftdNameSpace{
void ftdMethod(){
cout<<"ftdNameSpace method run..."<<endl;
}
}
在main中调用就是:
ftdNameSpace::ftdMethod();
在规范的情况下,明明情况最多定义两级:
namespace PersonSpace
{
namespace StudnetSpace
{
void showStudentName() {
cout << "学生的名字叫做:史帝夫" << endl;
}
}
}
在main方法中调用就是:
PersonSpace::StudnetSpace::showStudentName();
c++中的引用类型
c++中独有的,c中没有,引用类型和指针有点像,引用类型的内部是用只指针去完成封装的
int main(){
int age = 99;
int& ageYin = age;
changeMethod(ageYin);
cout << "引用类型的值:" << age << endl;
}
void changeMethod(int& chage) {
chage = 666;
}
此时的打印结果肯定变成了666