草庐IT

大括号

全部标签

c++ - 在 C++ 中不使用括号类的原因可能是什么?

通常需要完成以下任务:更改某物的状态,执行操作,然后将状态更改回原始状态。例如,在Win32GDI中需要更改背景颜色,然后进行一些绘图,然后再将颜色更改回来。它可以直接完成:COLORREFoldColor=SetBkColor(deviceContext,newColor);drawStuff(deviceContext);SetBkColor(deviceContext,oldColor);或通过括号类在构造函数中进行前向更改并在析构函数中进行向后更改:CBkColorSwitcherswitcher(deviceContext,newColor);drawStuff(device

c++ - Visual Studio 自动将括号添加到函数名称

VS2015(对于C++)是否有一个选项或(免费)扩展,这样当Intellisense自动完成一个函数名称(在调用站点)时,它还会添加左括号和右括号并将光标设置在两者之间他们? 最佳答案 我相信此功能内置于VisualStudio2015中。转到工具->选项->文本编辑器->C/C++->格式化您会在那里找到多个项目,您可以根据自己的喜好进行调整。 关于c++-VisualStudio自动将括号添加到函数名称,我们在StackOverflow上找到一个类似的问题:

c++ - 检查 C++ 括号的堆栈实现

我正在尝试实现一个堆栈来检查文件是否具有平衡()、[]和{}。该程序应该接收一个文件并检查它是否平衡并返回一个bool值。当我运行该程序时,它仅适用于文件中的最后一个括号。我如何更改代码以使其适用于最后一对之前的括号。输入文件只是一个简单的c文件。附带问题:如果我想让这个程序与html文件一起工作,我只需要用html标签更改()、[]、{}吗?这是我的代码#include"stdafx.h"#include#include#include#includeusingnamespacestd;boolbalanced(stringA[],intn){inti;stacka;for(i=0;

c++ - 如何使用 astyle 格式化 C++ 方法中的左大括号?

将函数的左大括号移动到下一行是一种常见的做法。如何使用astyle(代码美化器)在类方法中应用它?例子://thisisaninitialC++codeclassClass{public:staticintfoo(boolx){if(x){return42;}else{return0;}}};修改后的版本应该是:classClass{public:staticintfoo(boolx){//thisbraceinnextlineif(x){return42;}else{return0;}}};我所有的尝试都只适用于全局函数。 最佳答案

c++ - 是大括号可构造的类型特征

如何检查特定类型typenameT可以从参数构造typename...Args方式T{Args...}?我知道std::is_constructible来自的类型特征,但它适用于括号,而不适用于大括号。我在编写类型特征方面没有太多经验,因此无法提供初始示例。作为简化,我们可以接受任何合理的断言,即使这不会导致太大的普遍性损失。 最佳答案 templatedecltype(void(T{std::declval()...}),std::true_type())test(int);templatestd::false_typetest(

c++ - 列表初始化(使用花括号)有什么好处?

MyClassa1{a};//clearerandlesserror-pronethantheotherthreeMyClassa2={a};MyClassa3=a;MyClassa4(a);为什么? 最佳答案 基本上是从BjarneStroustrup的“C++编程语言第4版”中复制和粘贴:列表初始化不允许缩小(§iso.8.5.4)。即:一个整数不能转换为另一个不能保存其值的整数。例如,字符允许转换为int,但不允许转换为char。一个浮点值不能转换成另一个不能容纳它的浮点类型值(value)。例如允许floattodouble

c++ - 仅当当前行溢出 clang 格式时才在新行上加括号

我最近决定在我的C++项目中包含一个.clang-format文件,以使代码更加统一和易于阅读。我最喜欢Google的默认值,除了我想使用4个空格缩进而不是两个。这样做的问题是,当当前行超出80个字符的列限制时,它会使某些语句更难阅读。例如,在溢出的if语句中:if(some_condition||some_other_condition||yet_another_condition){//blockstartshere}yet_another_condition的对齐方式与ifblock的开头相匹配,这使得在没有某种中断的情况下难以阅读。理想情况下,我希望在这种情况下发生的事情是这样

c++ - 带括号的 Visual Studio (C++) IntelliSense

如果我有一个vectortoto,当我写toto.s时,IntelliSense会给我toto.size但我想要toto.size()。如何强制IntelliSense给我括号? 最佳答案 我认为使用visualstudio的intellisense是不可能的。然而,看看这个非常好的第三方工具,它可以做到这一点:VisualAssist 关于c++-带括号的VisualStudio(C++)IntelliSense,我们在StackOverflow上找到一个类似的问题:

REGEX-如何在括号内的引号中捕获文本

我在用http://www.rubular.com/测试将有多少模式匹配起作用。如果我有这样的文字ANDTO_CHARCREATE_TS,'yyyymmdd'='20140810',正则ANDTO_CHARCREATE_TS,yyyymmdd='(.*?)'允许我提取时间戳。但是,当引入括号时,例如AND(TO_CHAR(CREATE_TS,'yyyymmdd')='20140810'),我无法得到我的正则AND(TO_CHAR(CREATE_TS,'yyyymmdd')='(.*?)')提取时间戳。任何帮助都将受到赞赏看答案如果括号是在您要匹配的实际字符串中,则需要使用“\”来逃脱,以使其匹

c++ - 在输入文本中匹配平衡和嵌套的大括号

我参加了一个测验,我提供了代码,但自动测试显示八个测试用例中有一个失败了。我自己多次测试我的代码,但都通过了。我找不到问题出在哪里。问题是设计一个算法来检查字符串中的括号是否匹配。1)只考虑圆括号()和方括号[],省略其他字符。2)每对括号应相互匹配。也就是说(匹配),[匹配]。3)不允许交叉,如:([)]。有两对支架,但它们相互交叉。解决问题,我的方法如下:搜索整个输入字符串中的每个字符,索引从0到str.size()-1。用两个栈记录开始标签(,和[,每一种类型一个栈,遇到其中一个,将其索引压入对应的栈。当遇到结束标记)和]时,我们弹出相应的堆栈。出栈前先检查两个栈顶,当前栈应该有