时间:2021-05-20
本文地址:https:///oberon-zjt0806/p/14631149.html
经常写C++的基本上避不开使用指针,而且C++中指针类型的写法大体上有两种:
int* a = nullptr; //*靠前int *b = nullptr; //*靠后都是声明一个指针。
关于哪种写法的倾向性,每个人都不太一样,有的往前放,有的往后放,还有的👴爱放哪放哪,你管得着嘛。
《C++ Primer》中推荐靠后,原因是:
int *a,b,c; // a是指针,b和c都不是int* a,b,c; // 一样,但容易引起误会,让人误以为b和c是指针,实则不然不过用Visual Studio写C++的时候,格式化方式又有所不同,当你敲完int*a=nullptr;后会靠前,会变成int* a=nullptr;,其原因可能是隔壁的C#只允许往前放的写法:
/C#代码unsafe ...{ int* a,b,c; // a,b,c都是指针 int *a,*b,*c; // 错误!不让这么写。}我倒是不关心C#怎么写,但是在C++的语境下,我赞同《C++ Primer》的观点,喜欢往后放,但是VS就像个傲娇一样,分号一敲完就把我刚写好的int *a变成了int* a。
当然不是,对于C++代码,VS默认状态下使用的是Clang-Format方案。
Clang-Format将这个问题称为指针对齐,使用PointerAlignment设置,其实听说Clang默认是Right的。不过在Clang-Format配置文件中VS默认将PointerAlignment置为Left。
当然,我们倒没必要把VS的Clang-Format配置文件拎出来暴打一顿塞回去,VS其实允许我们手动设置这个风格,步骤如下:
1.菜单栏→工具→选项,打开选项窗口
2.左侧搜索“格式”然后找到箭头所指的项(或者在左侧直接按树找文本编辑器→C/C++)
3.依次往下找,代码样式→格式设置→间距,然后在右侧找运算符的间距→指针/引用对齐方式下面有四个选项,你就可以设置成你prefer的方式,然后在下面看预览效果观察*和&的位置,确定就好了
这样,VS就不会执拗地把*往前放了。
类似地,关于其他运算符的设置方法也可以在这个上下文中进行,因此这个位置值得记录一下,毕竟恰当设置可以提升开发效率,这个设置的位置又比较隐蔽容易迷路,所以特此记录一下。
到此这篇关于Visual Studio C++指针靠前靠后的全面解析的文章就介绍到这了,更多相关Visual Studio C++指针内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
C++基础教程之指针拷贝详解指针是编程人员的梦魇,对C语言的开发者是如此,对C++的开发者也是如此。特别是在C++中,如果不注意处理类中的指针,非常容易出问题。
浅谈先来说一下“this指针”:C++中通过引入this指针解决该问题,暨:C++编译器给每个“非静态的成员函数”增加了一个隐藏的指针参数,让该指针指向当前对象
官网下载就好,https:///b/vcblog/archive/2014/06/03/visual-studio-14-ctp.aspxreturn['vcr
指针类型是C++中一个内容非常丰富的东西,掌握好它,对学习和理解C++有着非常重要的影响。下面介绍C++中两种函数指针和指向指针的指针数组的表示方法。(1)in
C++this指针详解学习C++的指针既简单又有趣。通过指针,可以简化一些C++编程任务的执行,还有一些任务,如动态内存分配,没有指针是无法执行的。所以,想要成