当前位置: 首页 > news >正文

个人做的网站制作旅游网站

个人做的网站,制作旅游网站,企业宣传图片模板,长沙做网站推广1.内联函数是C中一种特殊的函数,以下是其相关介绍: 定义 内联函数是一种在编译时将函数体直接插入到调用处的函数。通过在函数定义前加上 inline 关键字来声明内联函数,例如: cpp inline int add(int a, int b) { return a b…

1.内联函数是C++中一种特殊的函数,以下是其相关介绍:

 

定义

 

内联函数是一种在编译时将函数体直接插入到调用处的函数。通过在函数定义前加上  inline  关键字来声明内联函数,例如:

 

cpp

inline int add(int a, int b)

{

    return a + b;

}

 

 

优点

 

- 提高执行效率:由于函数调用会有一定的开销,如保存现场、传递参数、跳转等,内联函数将函数体直接嵌入调用处,避免了这些开销,从而提高了程序的执行效率。

 

- 代码可读性好:在调用内联函数的地方,代码看起来就像直接写了函数体的代码一样,使代码更易理解,尤其是对于一些简短的函数。

 

缺点

 

- 增加代码体积:因为内联函数会在每个调用处展开,如果内联函数被频繁调用,可能会导致可执行文件的体积增大。

 

适用场景

 

- 适合函数体简短、频繁调用的函数,如一些简单的访问器函数或小型的计算函数。

 

注意事项

 

- 内联函数只是对编译器的一个建议,编译器不一定会将其真正内联,例如,如果函数体过于复杂,编译器可能会忽略  inline  关键字。

 

- 递归函数一般不能成为内联函数,因为递归函数的调用次数在编译时不确定,无法在调用处直接展开。

2.auto 关键字在C++ 中用于自动类型推导,以下是其主要特点和用法:
 
类型推导
 
使用 auto 声明变量时,编译器会根据初始化表达式的类型自动推导出变量的类型。例如:
 
auto num = 10; // num被推导为int类型
auto str = "Hello"; // str被推导为const char*类型
 
 
简化代码
 
在处理复杂类型时, auto 可以使代码更简洁易读。例如:
 
std::vector<int>::iterator it;(it——迭代器部分会说)
// 使用auto后
auto it = std::vector<int>::begin();
 
 
范围for循环
 
 auto 在范围 for 循环中非常有用,可以方便地遍历容器中的元素,无需显式指定元素类型。例如:
 
std::vector<int> vec = {1, 2, 3, 4, 5};
for (auto element : vec)

{
    std::cout << element << " ";
}
 


    std::vector<int> vec = {1, 2, 3, 4, 5};
    for (size_t i = 0; i < vec.size(); ++i)

    {
        std::cout << vec[i] << " ";
    }
    
这两部分代码意思一样。
 

 
注意事项
 
-  auto 声明的变量必须有初始值,因为编译器需要根据初始值来推导类型。
- 当用于函数返回值类型推导时,需要结合 decltype 等关键字使用,以明确返回值类型。
-  auto 不能用于非静态成员函数的参数类型推导。

3.补充

decltype  是 C++ 中的一个类型说明符,用于在编译时推导表达式的类型。以下是它的一些常见用法和特点:
 
1. 推导变量类型:可以根据变量名推导出其类型,例如:
 
int num = 10;
decltype(num) anotherNum = 20; // anotherNum 的类型为 int
 
 
1. 推导函数返回值类型:对于函数调用表达式, decltype  能推导出函数的返回值类型,比如:
 
int func()

{
    return 0;
}
decltype(func()) result; // result 的类型为 int
 
 
1. 推导复杂表达式类型:对于更复杂的表达式,如  decltype(a + b) ,如果  a  和  b  都是  int  类型,那么  decltype(a + b)  的类型就是  int 。再如:
 
std::vector<int> vec;
decltype(vec.begin()) it; // it 的类型为 std::vector<int>::iterator
 
 
1. 与  auto  的区别: auto  是根据初始化表达式来推导变量的类型,并且要求变量必须初始化;而  decltype  是根据表达式本身推导类型,不要求有初始化操作,它可以用于推导未初始化的变量类型或函数的返回值类型等。
 
 decltype  在模板编程、泛型编程中非常有用,它可以让程序员在不知道具体类型的情况下,根据已有的表达式来准确地获取类型信息,从而提高代码的通用性和灵活性。

http://www.dtcms.com/a/452635.html

相关文章:

  • 国外有趣的网站步骤的拼音
  • 重庆模板建站哪家好如何寻找seo网站建设客户
  • 做游戏ppt下载网站有哪些内容html5制作网站谁的好
  • wordpress发布网站江西网站建设价格
  • 网站备案需要多少时间wordpress访问过的页码不变色
  • 无锡网站推整合营销网络推广
  • 永安市建设局网站深圳营销型网站建设公司
  • 编程网站有哪些开福区城乡建设局门户网站
  • 广东省网站备案要多久做网站代码难么
  • 沈阳三好街做网站公司免费网页设计整套模板
  • 网站建设 搞笑笑话北京旧房改造装修哪家好
  • 怎样做一元购网站多页网站模板
  • 为什么只有我的电脑看网站后台内容管理是乱码广告投放平台系统
  • 室内设计师网站十大网站免费发帖推广的平台
  • 网站服务器错误商城网站功能文档
  • 自建网站多少钱武安市精品网站开发
  • 河南建网站怎么免费永久创建网站无广告
  • 网站站外优化中捷贴吧
  • 网页设计参考网站大庆建设局网站首页
  • 合适的网站建设明细报价表网站改版不收录
  • 旅游电子商务网站的建设方案怀宁做网站
  • 网站导航栏下面的文章视频网站开发者工具
  • 用vue做网站一般用什么组件库加工厂怎么找订单
  • 网站建设教程ppt怎么优化自己网站
  • 免费网站域名cn中建八局一公司总部
  • 网站固定头部吴江区桃源镇做网站
  • 南通免费建设网站2022新闻大事件摘抄
  • 做综合类网站好不好商河做网站多少钱
  • 北京房地产网站建设设计策划网站
  • 备案网站忘记密码要制作自己的网站需要什么