秋招日记(二十二)C++模板类型推导

学习记录

  • 《Linux多线程服务端编程》
    • 第 10 章 C++编译链接模型精要
  • 《C++ Primer》
    • 第 16 章 模板与泛型编程

C++ 模板类型推导

  • 引子:前几天大疆笔试第一个简答题

    template<typename T>
    void printSize(T a){
        std::cout << sizeof(T) << std::endl;
        std::cout << sizeof(a) << std::endl;
    }
    template<typename T>
    void printSizeRef(T&& a){
        std::cout << sizeof(T) << std::endl;
        std::cout << sizeof(a) << std::endl;
    }
    int main(){
        int a[100] ={0};
        printSize(a);
        printSizeRef(a);
    }
    • 求在64位系统中的输出?
    • 在64位Ubuntu服务器中,编译运行后输出的结果是:8,8,400,400,
    • 也就是说:
      • 第一个函数中的T和a的类型都是指针
      • 第二个函数中的T和a的类型都是大小为100的int数组
  • C++模板类型推导要点:

    • 按值传递给函数模板的数组类型将被推导为指针类型,原因是C语言中数组类型可以隐式类型转换为指向数组首元素的指针,C++的基础是C,所以允许这样的转换
    • 在模板类型推导过程中,数组的实参在被用来初始化引用时,不会被退化为指针,此时形参的实际类型是数组的引用

嵌入式开发秋招重要信息!!!!!

对于一个机械专业的人来说,转码的最佳方向应该是嵌入式(千万不要卷互联网,像我一样😥
大家对于嵌入式求职面经感兴趣的可以关注@Bonana52 ,这位大佬经过无数场嵌入式的面试的历练后,现在对于嵌入式的面试已经手到擒来了😎
快关注他的帖子,获取更多嵌入式求职信息吧😁

#我的秋招日记##2023一起秋招吧##C++##嵌入式#
全部评论
老婆的老
点赞 回复 分享
发布于 2022-08-09 20:39

相关推荐

测试糕手手:社会第一课,随便吹牛逼,直接说四个月,别老实。老实人只会被欺负
点赞 评论 收藏
分享
真烦好烦真烦:豆包润色了自己没看看吗,再说了,都说豆包是愚蠢且勤快的大学生,ds才是聪明的研究生,怎么敢让豆包写论文的
你们的毕业论文什么进度了
点赞 评论 收藏
分享
05-26 16:13
门头沟学院 C++
牢大肘击Java:海投就完事了bro,就当刷视频了
点赞 评论 收藏
分享
CARLJOSEPH...:宝宝你戾气太大了
点赞 评论 收藏
分享
评论
7
6
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务