草庐IT

Auto-Indent

全部标签

c++ - 为什么我需要显式写 'auto' 关键字?

我正在从C++98转向C++11,并且已经熟悉了auto关键字。我想知道如果编译器能够自动推断类型,为什么我们需要显式声明auto。我知道C++是一种强类型语言,这是一个规则,但是如果不显式声明变量auto就不可能达到相同的结果吗? 最佳答案 删除显式auto会破坏语言:例如intmain(){intn;{auton=0;//thisshadowstheoutern.}}您可以看到删除auto不会遮蔽外部n。 关于c++-为什么我需要显式写'auto'关键字?,我们在StackOverf

c++ - 为什么不推荐使用 auto_ptr?

我听说auto_ptr在C++11中已被弃用。这是什么原因?我也想知道auto_ptr和shared_ptr的区别。 最佳答案 auto_ptr的直接替换(或者最接近的东西)是unique_ptr.就“问题”而言,它非常简单:auto_ptr在分配所有权时转移所有权。unique_ptr也转移所有权,但由于移动语义的编码和右值引用的魔力,它可以更自然地做到这一点。它也更好地“适合”标准库的其余部分(尽管公平地说,其中一些要归功于库的其余部分进行了更改以适应移动语义,而不是总是需要复制)。名称的更改也是(IMO)一个受欢迎的-auto

c++ - 如何使用 clang 格式自动缩进具有 4 个空格的 C++ 类?

我在项目的根目录中获得了下一个.clang-format文件:---AlignTrailingComments:trueAllowShortFunctionsOnASingleLine:falseAllowShortIfStatementsOnASingleLine:trueAllowShortLoopsOnASingleLine:trueBreakBeforeBinaryOperators:falseIndentWidth:4SortIncludes:falseNamespaceIndentation:All...当我在我的c++头文件上运行clang-format时出现问题,这些类

c++ - 如何使用 clang 格式自动缩进具有 4 个空格的 C++ 类?

我在项目的根目录中获得了下一个.clang-format文件:---AlignTrailingComments:trueAllowShortFunctionsOnASingleLine:falseAllowShortIfStatementsOnASingleLine:trueAllowShortLoopsOnASingleLine:trueBreakBeforeBinaryOperators:falseIndentWidth:4SortIncludes:falseNamespaceIndentation:All...当我在我的c++头文件上运行clang-format时出现问题,这些类

ios - iPhone:在 UITextField 上禁用 Auto-Cap/autocorrect 问题

出于某种原因,即使我禁用了UITextField的自动大写和自动更正,它仍然将我输入的第一个字母大写。代码如下:UITextField*textField=[[[UITextFieldalloc]initWithFrame:CGRectMake(90.0,10.0,213.0,25.0)]autorelease];[textFieldsetClearButtonMode:UITextFieldViewModeWhileEditing];textField.returnKeyType=UIReturnKeyGo;textField.autocorrectionType=FALSE;tex

objective-c - "Auto Layout still required after executing -layoutSubviews"与 UITableViewCell 子类

使用XCode4.5和iOS6,我正在开发一个带有自定义单元格的简单表格View的应用程序。我在iOS5及更低版本中已经这样做了一百次,但由于某种原因,新的自动布局系统给我带来了很多麻烦。我在IB中设置了我的表格View和原型(prototype)单元,添加了subview并将它们连接为IBOutlets,然后设置了我的委托(delegate)和数据源。但是现在每当从cellForRowAtIndexPath获取第一个单元格时,我都会收到以下错误:***Assertionfailurein-[ShopCelllayoutSublayersOfLayer:],/SourceCache/U

python - Django auto_now 和 auto_now_add

对于Django1.1。我的models.py中有这个:classUser(models.Model):created=models.DateTimeField(auto_now_add=True)modified=models.DateTimeField(auto_now=True)更新一行时我得到:[SunNov1502:18:122009][error]/home/ptarjan/projects/twitter-meme/django/db/backends/mysql/base.py:84:Warning:Column'created'cannotbenull[SunNov1

python - PEP8 的 E128 : continuation line under-indented for visual indent? 是什么

刚刚使用SublimeText(使用SublimeLinter)打开了一个文件,并注意到我以前从未见过的PEP8格式错误。正文如下:urlpatterns=patterns('',url(r'^$',listing,name='investment-listing'),)它标记了第二个参数,即url(...)开头的行我正要在ST2中禁用此检查,但我想在忽略它之前知道我做错了什么。你永远不知道,如果它看起来很重要,我什至可能会改变我的方式:) 最佳答案 PEP-8recommends如果你在第一行放了任何东西,你缩进到左括号,所以它应

c++ - 在 C++11 中用 "auto"推导出的 lambda 类型是什么?

我有一种感觉,lambda的类型是一个函数指针。当我执行以下测试时,我发现它是错误的(demo)。#defineLAMBDA[](inti)->long{return0;}intmain(){long(*pFptr)(int)=LAMBDA;//okautopAuto=LAMBDA;//okassert(typeid(pFptr)==typeid(pAuto));//assertionfails!}上面的代码是否缺少任何一点?如果不是那么,当用auto关键字推导时,typeof一个lambda表达式是什么? 最佳答案 未指定lamb

c++ - std::auto_ptr 到 std::unique_ptr

随着新标准的到来(以及某些编译器中已经提供的部分),新类型std::unique_ptr应该是std::auto_ptr的替代品.它们的用法是否完全重叠(所以我可以对我的代码进行全局查找/替换(不是我会这样做,但如果我这样做了))或者我是否应该知道一些从阅读中不明显的差异文档?另外如果是直接替换,为什么要给它一个新名字而不是仅仅改进std::auto_ptr? 最佳答案 您无法进行全局查找/替换,因为您可以复制auto_ptr(具有已知后果),但只能移动unique_ptr。任何看起来像的东西std::auto_ptrp(newin