• C++学习笔记1 入门


    开发方式
      在unix世界有大量的程序员是传统的非IDE的方式进行软件开发。一般是如下组合:
      1.编译器:gcc,clang等
      2.编辑器:一般是vim/emacs
      3.make:gnu make 或者bsd 的pmake等,功能与用法基本一样
      4.版本管理:cvs,svn,git等
      5.代码阅读:cscope,ctags,lxr等

    集成开发环境(IDE)
      1.Visual Studio(Visual C++)
      2.Borland C++ Builder
      3.Eclipse(Myln + CDT + MinGW32 + GCC)
      4.Dev-C++(MinGW32 + GCC)
      5.Code::Blocks(可配合多款编译内核使用)
      6.CodeLite
      7.C-Free
      8.Qt Creator等基于Qt开发框架的IDE


      如上所示,目前流行的 GNU GCC 和 Microsoft Visual Studio 以及 Borland C++ Builder 系列各执一套基本的编译链,其它的IDE都是衍生产品。

    源代码的扩展名

    C++实现 源代码扩展名
    UNIX C、cc、cxx、c
    GNU C++ C、cc、cxx、cpp、c++
    Borland C++ Cpp
    Visual Studio(Visual C++) cpp、cxx、cc

    头文件命名约定

    头文件类型  约定 范例 说明
    C++旧式风格 以.h结尾 iostream.h C++程序可以使用
    C旧式风格 以.h结尾 math.h C、C++程序可以使用
    C++新式风格 没有扩展名 iostream C++程序可以使用,使用namespace std
    转换后的C 加上前缀c,没有扩展名 cmath C++程序可以使用,可以使用不是C的特性,例如namespace std

    由于C使用不同的文件扩展名来表示不同的文件类型,因此用一些特殊的扩展名(如.hx或.hxx)表示C++头文件是有道理的,ANSI/ISO委员会也这样认为。问题在于研究使用那种扩展名,因此最终他们一致同意不使用任何扩展名。

      头文件有没有后缀的区别,以iostream和iostream.h为例,前者没有后缀,实际上,在你的编译器include文件夹里面可以看到,二者是两个文件,打开文件就会发现,里面的代码是不一样的。 后缀为.h的头文件c++标准已经明确提出不支持了,早些的实现将标准库功能定义在全局空间里,声明在带.h后缀的头文件里,c++标准为了和C区别开,也为了正确使用命名空间,规定头文件不使用后缀.h。 因 此,当使用<iostream.h>时,相当于在c中调用库函数,使用的是全局命名空间,也就是早期的c++实现;当使用< iostream>的时候,该头文件没有定义全局命名空间,必须使用namespace std;这样才能正确使用cout。

    根据Effective C++第三版第一条款的描述,现在C++由以下四个“子语言”组成:
      1、C子语言。C++支持C语言的几乎全部功能,主要是c89的部分,在语法上与C语言仅有极微妙的差别(如括号表达式的左右值性,具体请参考C++标准文献)。
      2、面向对象的C++语言。C++语言原本不具备面向对象的设计功能,然而随着面向对象编程的概念的提出以及如Java等语言的发展成熟,C++语言也开发出了   支持面向对象功能的版本。
      3、泛型编程语言。C++强大(但容易失控的)模板功能使它能在编译期完成许多工作,从而大大提高运行期效率。
      4、STL(C++标准模板库,Standard Template Library)。随着STL的不断发展,它已经逐渐成为C++程序设计中不可或缺的部分,其效率可能比一般的native代码低些,但是其安全性与规范性使它大受欢迎。

    参考文献:http://baike.baidu.com/view/824.htm

  • 相关阅读:
    bitcoin PoW原理及区块创建过程
    Hyperledger Fabric(v1.1.0)编译时遇到的问题
    Hyperledger Fabic中的Transaction流程
    mint linux 18.3 遇到“已安装的 post-installation 脚本 返回了错误号 127 ”问题的解决
    redis--解析字符串
    golang 统计uint64 数字二进制存储中1的数量
    c++ std 最小堆的使用 (用于实现top100之类的功能)
    Linux 信号signal处理函数
    Linux 信号signal处理机制
    LinuxMint 下 B站 番 blv 缓存 转 mp4
  • 原文地址:https://www.cnblogs.com/nami/p/2683604.html
Copyright © 2020-2023  润新知