首页 > 编程语言 >C++/C区别

C++/C区别

时间:2024-08-27 21:49:30浏览次数:9  
标签:typedef PFunc void 区别 C++ 关键字 using

C++/C差别

  1. typedef 和 using的差别,typedef可以用来定义一个类型,也可以用于定义别名。using还是做不到定义类型,但是可以用于别名。

    void Aadd(){
        /* code */
    }
    void Badd(){
        /* code */
    }
    typedef void (*PFunc)(); // 定义一个函数指针类型
    PFunc func = Aadd;
    PFunc func = Badd;
    
  2. typedef是继承自C语言的关键字,声明是全局的,除非只在特定作用域中使用。

  3. using是C++关键字,声明可以是局部的,且可以用于命名空间的别名。更加适用于C++编程。

  4. inline关键字,建议编译器直接在调用点展开,减少调用层次,以及栈的创建等开销。缺点可能代码膨胀,二进制包变大,调试困难。

  5. enum class类型为新增,enum类则为公共区域都可以访问。

  6. vector容器需要使用更大的区间,最好使用reseve()提前重新分配空间改变capacity(),不改变size(),避免一些不必要的扩容问题。

标签:typedef,PFunc,void,区别,C++,关键字,using
From: https://www.cnblogs.com/solicit/p/18383608

相关文章

  • 链表简介c++
    定义:链表是一种数据结构,其中元素(也称为节点)不是连续存储的。每个节点包含数据部分和一个指向下一个节点的指针。类型:在C++中,有两种主要类型的链表:单链表(每个节点只有一个指针指向下一个节点)和双向链表(每个节点有两个指针,一个指向前一个节点,另一个指向后一个节点)。结构......
  • C++实现的最短路径问题
    最短路径问题最短路径问题是图论中的一个经典问题,旨在寻找从一个起点到一个终点的最短路径。最常见的算法包括Dijkstra算法、Bellman-Ford算法和Floyd-Warshall算法。这些算法被广泛用于导航系统、网络路由等领域。问题描述输入:一个加权图,表示图中各节点之间的连接和权......
  • C++系列学习笔记
    #include<iostream>#include<iomanip>usingnamespacestd;//namespace:命名空间的关键字//std:系统的关键字intmain(){cout<<"输入"<<endl<<"int,char,double"<<endl;intnum=0;ch......
  • C++趣味实验之:二次函数面积与微积分
    在数学中,我们可以使用微积分来计算由二次函数抛物线构成的图形根据这个原理,我们可以用程序模拟计算这些图形的面积longdoublex,y,a,b,c;首先,定义出函数的各个参数输入a,b,c的数值后,计算其数值并绘制其图像for(inti=1;i<=1000;i++){ x+=0.1; y=a*x*x; y=y+b*x; ......
  • C++:new
    还记得之前帖子中提到的malloc吗,new和malloc都可以申请和释放空间。一般使用new有三种格式:1.指针变量名=new+类型;2.指针变量名=new+类型(赋予一个初始值);3.指针变量名=new+类型[内存单元个数];释放空间需要用到delete。例子:#include<iostream>usingnamespacestd;in......
  • Spring 各版本发布时间与区别
    版本版本特性SpringFramework1.01.所有代码都在一个项目中2.支持核心功能IoC、AOP3.内置支持Hibernate、iBatis等第三方框架4.对第三方技术简单封装。如:JDBC、Mail、事务等5.只支持XML配置方式。6.主要通过XML配置文件来管理对象和依赖关系,配置工作较为繁......
  • C++基础
    目录思维导图:学习内容:1.面向对象 1.1.概念1.2.所谓面向对象编程1.3.面向过程与面向对象2.命名空间2.1为何引入命名空间2.2程序中的标识符2.3 系统提供的命名空间std2.4 自定义命名空间 2.4.1 定义格式2.4.2 多个命名2.4.3 命名空间嵌套定义2......
  • 【深度剖析】李永乐 660 题与武忠祥 660 有何区别?推荐刷哪个?
    作为一名刚刚成功上岸的研0学子,在考研数学的备考过程中,李永乐660题和武忠祥660这两本习题集都给我留下了深刻的印象。今天就来和大家详细分享一下它们之间的区别以及我个人的使用感受和推荐建议。一、习题集介绍李永乐660题题目特点:注重基础概念的深入理解和灵活运......
  • FreeRTOS不同内存管理策略的区别
    来源于正点原子《STM32F1FreeRTOS开发手册V1.1》第二十章内存管理20.7heap_5内存分配方法(P391):heap_1最简单,但是只能申请内存,不能释放。heap_2提供了内存释放函数,用户代码也可以直接调用函数pvPortMalloc()和vPortFree()来申请和释放内存,但是heap_2会导致内存碎片的......
  • 有趣的C++模板代码
    1#include<iostream>2template<typename...Ts>3structCNAny{4staticboolDo(inti){5return(Ts::Do(i)||...);6}7};89template<typename...Ts>10structCNAll{11staticboolDo(inti){......