【C++】初步认识C++

2024-07-06 1195阅读

  • 1. 初识C++
    • 1.1 C++概念相关
    • 1.2 C++发展史及其重要性
      • 1.2.1 发展史
      • 1.2.2 重要性
      • 2. C++关键字
      • 3. 命名空间
      • 4. 输入和输出

        【C++】初步认识C++

        【C++】初步认识C++

        个人主页:C_GUIQU

        归属专栏:【C++学习】

        1. 初识C++

        1.1 C++概念相关

        C语言是结构化和模块化的语言,适合处理较小规模的程序。

        【来源】1982年,Bjarne Stroustrup博士在C语言的基础上引入并扩充了面向对象的概念,发明了一种新的程序语言。为了表达该语言与C语言的渊源关系,命名为C++。

        【概念】C++是基于C语言而产生的,它既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行面向对象的程序设计。

        【性质】

        • 面向对象
        • 三大特性:封装,继承,多态。

          【C语言和C++的关系】

          【C++】初步认识C++

          1.2 C++发展史及其重要性

          1.2.1 发展史

          【C++的历史版本】

          【C++】初步认识C++

          1.2.2 重要性

          重要性不言而喻

          【4个层次】

          • 第一个层次,C++基础 (平平常常)
          • 第二个层次,正确高效的使用C++ (驾轻就熟)
          • 第三个层次,深入解读C++ (出神入化)
          • 第四个层次,研究C++ (返璞归真)

            【建议】中后期画思维导图总结。

            【摘录】 最后,我说一说我的一些感受:

            • 这些年来的对于外企和国内感受—— 国外牛B的IT公司的工程能力并不见得比国内的要强多少,但是国外那些NB的IT公司的架构和设计能力远远超过国内的公司,最可怕的是,那些有超强架构和设计能力的“老程序员们”还战斗在一线,这些战斗在一线的老鸟的能力绝对超过100个普能的新手。
            • 对年轻程序员的感受——国内新一代的程序员们太浮燥了。老实说,对于大多数人来说,如果你没有编程到30岁,你还不能成为一个“合格”的程序员。所以,并不是编程编到30岁就玩完了,而是编程编到30岁才刚刚入门。这些不合格的程序,整天BS这个不好,那个不好的,而且喜欢速成,好大喜功。
            • 我是一个奔四的人了,编程就像登山一样,越往上爬人越少,所以,在我这个年纪还有想法,对编程还有热情的人不多了,基本上都是转Manager了。其实,什么职位,Title都是虚的,公司没了什么都没了,只有技术才是硬通货。而且,越是这个年纪还在玩编程玩技术的人,其实其经验和能力都是比较强的,都是中坚力量,如果还有其它这个年纪和我一样的人,求交往。

              2. C++关键字

              C语言32个关键字,C++总计63个关键字。

              后期学习慢慢了解。

              asm 
              do 
              if 
              return 
              try 
              continue 
              auto 
              double 
              inline 
              short 
              typedef 
              for 
              bool 
              dynamic_cast 
              int 
              signed 
              typeid 
              public 
              break 
              else 
              long 
              sizeof 
              typename 
              throw 
              case 
              enum 
              mutable 
              static 
              union 
              wchar_t 
              catch 
              explicit 
              namespace 
              static_cast 
              unsigned 
              default 
              char 
              export 
              new 
              struct 
              using 
              friend 
              class 
              extern 
              operator 
              switch 
              virtual 
              register 
              const 
              false 
              private 
              template 
              void 
              true 
              const_cast 
              float 
              protected 
              this 
              volatile 
              while 
              delete 
              goto 
              reinterpret_cast
              

              3. 命名空间

              【引言】

              //C语言命名冲突报错
              #include
              #include
              int rand = 10;
              int main()
              {
                      int a = 1;
                      printf("%d\n",rand);
                      return 0;
              }
              

              C++中引入命名空间(namespace)用以解决这类问题。

              【概念】

              命名空间(namespace)是 C++ 提供的一种解决命名冲突问题的方法,可以将不同作用域的标识符(如变量、函数、类等)组织在一起。

              【性质】

              • 是用来组织代码并避免命名冲突的一种机制。
              • 避免命名冲突:不同的命名空间中可以有相同名称的变量和函数,彼此不会产生冲突。
              • 模块化组织:更好地组织和管理代码,提高可维护性。
              • 作用域控制:控制变量和函数的可见范围,避免全局污染。

                定义命名空间

                namespace myNamespace
                {
                        int a;//定义变量
                        
                        void fun();//定义函数
                }
                

                使用命名空间中的成员

                作用域运算符 :: :在C++中用于访问命名空间的成员和限定类的成员函数的定义位置。

                可以理解为访问操作符,用于访问变量和函数。

                namespace myNamespace
                {
                        int a;
                        void fun();
                        myNamespace :: a = 1;//使用变量
                        myNamespace :: fun();//使用函数
                }
                

                嵌套命名空间

                namespace 1
                {
                        namespace 2//嵌套
                        {
                                int a;
                                void fun();
                        }
                }
                myNamespace::a = 1;
                myNamespace::fun();
                

                使用 using声明

                #include 
                namespace NamespaceA
                {
                    int a = 5;
                }
                int main()
                {
                    using NamespaceA::a; // 使用using声明
                    std::cout 
                    int a = 5;
                    void func() 
                    {
                        std::cout 
                    using namespace NamespaceA; // 使用using namespace指令
                    std::cout 
                    int a = 5;
                    // 定义嵌套命名空间NamespaceB
                    namespace NamespaceB 
                    {
                        int b = 10;
                    }
                }
                int main() 
                {
                    // 使用 using声明
                    using NamespaceA::a;
                    std::cout 
                        std :: cout 
                   cout 
VPS购买请点击我

免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

目录[+]