#include <type_traits>
int main()
{
int n;
auto* p1 = &n;
auto p2 = &n;
static_assert(std::is_same_v<decltype(p1), decltype(p2)>); // ok
}
auto* p = &n
和auto p = &n
之间有区别吗?还是只是编码样式问题?
auto* p = &n
和auto p = &n
之间有区别吗?
除了可读性之外没有其他区别。这是因为您要获取右侧的l值的地址。地址只能存储在指针中,因此编译器将能够确定auto
应该是什么。