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

上一篇下一篇

猜你喜欢

热点阅读