【c++】学习思路

来源:互联网 发布:探测手机的软件 编辑:程序博客网 时间:2024/06/05 16:09

基本概念

可能受到java一切皆为对象的概念影响。变量、数组,类的实例都可以称为对象。但是我觉得学习c++时还是要区分这些概念的。所以我要先做一下申明。(以下为个人理解,不喜勿碰)

  • 变量 - 变量是程序可操作的存储区的名称;所以,所以c++中的所有东西(枚举、指针、数组、引用、数据结构、类等)都可以叫做变量

  • 常量-常量是固定值,在程序执行期间不会改变。这些固定的值,特别有时又叫做字面量
  • 函数- 一个方法表示一种行为。一个类可以包含多个方法。可以在方法中写入逻辑、操作数据以及执行所有的动作。
  • 类 - 类是可以定义为描述对象行为/状态的模板/蓝图。
  • 对象 - 对象具有状态(变量,或者结构)和行为(函数)。例如:一只狗的状态 - 颜色、名称、品种,行为 - 摇动、叫唤、吃。对象是类的实例。


    定义definition)具体的实现,比如创建对象,定义类,结构什么的

    声明(declaration)告诉编译器东西长什么样子,比如extern,函数的声明等

    关键字


    下表列出了 C++ 中的保留字。这些保留字不能作为常量名、变量名或其他标识符名称,大部分时候这些关键字就是一个个概念的实体了

    下面是我在stackoverflow(一个神奇的网站,还想没有被墙)上面找到的c++11关键字



    alignas           continue          friend            register          truealignof           decltype          goto              reinterpret_cast  tryasm               default           if                return            typedefauto              delete            inline            short             typeidbool              do                int               signed            typenamebreak             double            long              sizeof            unioncase              dynamic_cast      mutable           static            unsignedcatch             else              namespace         static_assert     usingchar              enum              new               static_cast       virtualchar16_t          explicit          noexcept          struct            voidchar32_t          export            nullptr           switch            volatileclass             extern            operator          template          wchar_tconst             false             private           this              whileconstexpr         float             protected         thread_localconst_cast        for               public            throw



    以后的学习就会围绕着这些关键字了

    符号


    c++中的符号有很多,而且自己还可以定义符号功能,这里先说一下一个程序中肯定会出现的符号。以后就不讲了。


    空格


    只包含空格的行,被称为空白行,可能带有注释,C++ 编译器会完全忽略它。

    在 C++ 中,空格用于描述空白符、制表符、换行符和注释。空格分隔语句的各个部分,让编译器能识别语句中的某个元素(比如 int)在哪里结束,下一个元素在哪里开始。因此,在下面的语句中:

    int age;

    在这里,int 和 age 之间必须至少有一个空格字符(通常是一个空白符),这样编译器才能够区分它们。另一方面,在下面的语句中:

    fruit = apples + oranges;   // 获取水果的总数

    fruit 和 =,或者 = 和 apples 之间的空格字符不是必需的,但是为了增强可读性,您可以根据需要适当增加一些空格。


    分号


    在 C++ 中,分号是语句结束符。也就是说,每个语句必须以分号结束。它表明一个逻辑实体的结束。

    例如,下面是三个不同的语句:

    x = y;y = y+1;add(x, y);



    块是一组使用大括号括起来的按逻辑连接的语句。例如:

    {   cout << "Hello World"; // 输出 Hello World   return 0;}

    C++ 不以行末作为结束符的标识,因此,您可以在一行上放置多个语句。例如:

    x = y;y = y+1;add(x, y);

    等同于

    x = y; y = y+1; add(x, y);






    学习思路


    具体思路我们可以按照《effective c++》中说的将c++分为四个部分
    1、C 。c++中很多都是概念来着C语言。
    2、Object-Oriented c++。这部分C语言是没有的。面向对象的知识
    3、Template c++。c++泛型编程。很高级,也很难
    4、 STL。标准模板库。别人写好的代码

    所以我们的章节就按照模式给章起名字。而每一章中的小节我们以学习逻辑排列。比如非面向对象部分,变量是基本数据类型和复合类型的载体,函数有形参和实参变量,所以先介绍基本数据类型和复合类型小节,再介绍变量小节,再介绍函数小节。但是小节内容会放在整个章节中c++环境中考虑。比如介绍数组的时候我们会介绍数组怎么存储基本类型,其他的结构数据,函数指针,可能这些会涉及后面的知识…… 这样做的好处是大家会对整体的框架有一定的了解。而且还方便你的理解,更适合复习和查找。但是缺点会是学习很困难,而且我写的也会很累,因为会有知识的重叠。但是苟利国家生死以,岂因祸福避趋之抓狂

    还有一点很重要我们的开发环境使用的是dev c++ 5.11 。它对c++11的标准支持还不是很完善,遇到相关问题我会指明的。再见
  • 0 0
    原创粉丝点击