首页 > 编程语言 >C++_语言概览和资料

C++_语言概览和资料

时间:2023-01-11 11:23:10浏览次数:42  
标签:语言 Effective 概览 C++ C语言 内存 https

C++

C语言1969年-1973年完成,其出发点是为了编写Unix操作系统
设计目标
     需求、背景和待解决问题
	 演化过程中,来自用户的反馈和语言实现者们积累的经验
设计哲学: 高效原则
     C语言是为了速度而不是为了舒适而创建的,为了追求高效的编译代码,对程序员没有提出过多的限制,给与了更多的自由
	 作为底层语言维持着对底层硬件的直接访问功能,同时作为一种复杂的高级语言提供高层抽象能力
	 让C++既具有适合于系统程序设计的C语言所具有的可适应性和高效性,又能在其程序组织结构方面具有像Simula那样的语言设施
	 只有在迈向库的道路真正走不通的情况下,才应该踏上语言扩充之路
语言特性:
	 

C存在问题:
      C语言的声明语法就实在远不及优美;而其内建型别的隐式转换规则也是混乱无章法的
      C++多用于开发各种后台使用的算法和逻辑库。
      而C语言则更底层,主要用于开发更核心的算法、驱动程序和控制程序等
	  
	  
	  算法和数据结构、面向对象思想、基本语言知识、产品开发、与其他语言混合开发


但C++门槛依然很高,尤其
     C++的内存问题(内存泄露,内存溢出,内存宕机,堆栈破坏等问题),
      需要理解C++标准对象模型,C++标准库,标准C库,操作系统等内存设计,
     才能更加深入理解C++内存管理,这是跨越C++三座大山之一

根本原因: 面向对象编程+ 高性能

绊脚石
   模板-C++模板看成是一种新的语言,而且可以看成是函数式编程语言,只是设计依附在(借助于)C++其他基础语法上
    视觉复杂性
     
     template<typename T>class X{...};
      template<typename T>retType function_name(T t);

C++ resource

   Stephen Prata《C++ Primer Plus 》 c++第一个编译器的作者 
   Stanley B.Lippman 《Essential C++ 》
   Bjarne Stroustrup 《The C++ Programming Language》
   Bjarne Stroustrup 《The design and Evolution of C++ 》;https://www.doc88.com/p-99459428791611.html 
   Scott Meyers 大师Effective三部曲: Effective C++、 More Effective C++、 Effective STL
   More C++ Idioms:wikipedia.org https://en.wikibooks.org/wiki/More_C%2B%2B_Idioms
   C++ Standard Library Tutorial and Reference
   https://en.cppreference.com/w/
   https://cplusplus.com/

标签:语言,Effective,概览,C++,C语言,内存,https
From: https://www.cnblogs.com/ytwang/p/17043189.html

相关文章

  • 浅析 C++ 调用 Python 模块
    作为一种胶水语言,Python 能够很容易地调用 C 、 C++ 等语言,也能够通过其他语言调用 Python 的模块。Python 提供了 C++ 库,使得开发者能很方便地从 C++ 程序中......
  • C++ STL摘记
    一、string类补充1.函数示例:(1)find和rfind函数,返回的是下标或者string::nposindex=ss.find(s1,pos,num)find从pos(包括)开始往右查找(num的作用待补充)index=s......
  • c++重要的概念部分
    1.const修饰指针#include<iostream>usingnamespacestd;intmain(){//1、const修饰指针指针常量inta=10;intb=20;int*constp=&a;//指针......
  • C++ 编译依赖管理系统分析以及 srcdep 介绍
    C++编译依赖管理系统分析以及srcdep介绍如果用C++写一个中小型软件,有要用到很多第三方库的话,相信不少人会觉得比较麻烦。很多新兴的语言都有了统一的依赖管理系统和......
  • c++ 常量指针和指针常量
    常量指针:const在*之前指针的地址是可以被再次赋值的(可以修改的)指针地址上面的值(变量)是不能被修改的常量指针的常量是不能被改变的指针常量:const在*之后指针的地......
  • 区块链特辑——solidity语言基础(四)
    Solidity语法基础学习七、事件:事件Event·日志(log),是用来快速索引并查询过往资料的手段。·而solidity是透过“事件”在区块链上写下日志,使用者或由触发的事件所产生的......
  • 区块链特辑——solidity语言基础(一)
     Solidity语法基础学习一、智能合约的结构:  首先以上是智能合约的结构,包含版权宣告、编译指示、Usingfor宣告、错误定义、输入、列举与枚举、常数、合约、函......
  • 区块链特辑——solidity语言基础(二)
    Solidity语法基础学习四、函数类型:函数FunctionfunctionFnName[V][SM][return(……)]{}·[V]:Visibility,可见性;·[SM]:StateMutability,状态可变性;·[returns......
  • C语言学生成绩录入系统
    C语言学生成绩录入系统学生成绩录入系统录入10名学生的学号,姓名,及3门课程(高数、马克思、C语言)的平时成绩与考试成绩,3门课程的比例如下:高数:总成绩=平时成绩30%+考试成......
  • 区块链特辑——solidity语言基础(三)
    Solidity语法基础学习五、映射类型:映射型态MappingType映射钥匙Key→真实资料Valuemapping(KeyType→ValueType)VariableName·关键字:mapping·宣告一......