秋招日记(二十二)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

相关推荐

喜欢走神的孤勇者练习时长两年半:爱华,信华,等华,黑华
点赞 评论 收藏
分享
评论
7
6
分享
牛客网
牛客企业服务