让tips帮助我们成长
在后面的分享中,将会从以下几点重点分享:
1)vscode开发技巧及指南
2)日常开发调试技巧
3)开发过程中的语法糖
4)开发过程中的奇能淫巧
5)不同语言及技术分析
6)一些基础及算法分析
7)工作求职指南
期待您的留言,补充分享点。
今天在写C++17特性笔记的时候,学会了一个调试技巧。
简单来说就是:如何查看auto的类型是什么呢?
例如:
char s[10] = "hello";
auto type = s;
当前type类型到底是char *
还是char[10]
呢?
类似的问题比如在分析引用坍缩、万能引用的时候,这个技巧会帮助你从迷茫的理论中走向实践的道路。
要查看当前类型其实只需要如下操作:
template <typename>
struct TD;
只声明而不定义,那么在主函数中我们调用该struct,必然报错,由于模板推断的机制,编译器必然会告诉你当前的类型是什么。具体如下:
char s[10] = "hello";
auto type = s;
TD<decltype(type)>(); // error
error处结果为:error: invalid use of incomplete type ‘struct TD<char*>’
。此时我们可以看到推断类型是什么了,这是一个非常不错,但又实用的技巧。
本节完~