草庐IT

MyProj_static

全部标签

java - 是否应该以大写形式声明 "static final Logger"?

在Java中,静态最终变量是常量,并且约定它们应该大写。但是,我看到大多数人以小写形式声明记录器,这在PMD中被视为违规。.例如:privatestaticfinalLoggerlogger=Logger.getLogger(MyClass.class);只需搜索google或SO对于“静态最终记录器”,您将自己看到。我们应该改用LOGGER吗? 最佳答案 记录器引用不是常量,而是最终引用,不应大写。常量VALUE应为大写。privatestaticfinalLoggerlogger=Logger.getLogger(MyClass

java - "non-static method cannot be referenced from a static context"背后的原因是什么?

这个问题在这里已经有了答案:Non-staticvariablecannotbereferencedfromastaticcontext(15个回答)关闭7年前。社区审核了是否重新打开此问题9个月前并关闭:原始关闭原因未解决非常常见的初学者错误是当您尝试“静态”使用类属性而不创建该类的实例时。它会给您留下上述错误消息:Youcaneithermakethenonstaticmethodstaticormakeaninstanceofthatclasstouseitsproperties.这背后的原因是什么?我关心的不是解决方案,而是原因。privatejava.util.Listsom

c++ - 常规转换与 static_cast 与 dynamic_cast

这个问题在这里已经有了答案:Whenshouldstatic_cast,dynamic_cast,const_cast,andreinterpret_castbeused?(11个回答)关闭8年前。社区正在审查是否从6小时前重新开始。我已经编写C和C++代码近20年了,但这些语言的某一方面我从未真正理解过。我显然使用了常规转换,即MyClass*m=(MyClass*)ptr;到处都是,但似乎还有另外两种类型的转换表,我不知道有什么区别。下面几行代码有什么区别?MyClass*m=(MyClass*)ptr;MyClass*m=static_cast(ptr);MyClass*m=dy

ruby-on-rails - 没有路由匹配 [GET] "/static_pages/home.html.erb"

我正在按照MichaleHartl的教程进行操作,目前正处于此步骤:list5.23。添加根路由的映射。配置/routes.rbSampleApp::Application.routes.drawdorootto:'static_pages#home'match'/help',to:'static_pages#help'match'/about',to:'static_pages#about'match'/contact',to:'static_pages#contact'end我已将他的确切编码复制到我的config/routes.rb并继续收到路由错误:路由错误没有路由匹配[GET

ruby-on-rails - 在 Rails 中运行 bundle exec rspec spec/requests/static_pages_spec.rb 时出错

我正在关注这篇文章,我可以在下面的这个ruby​​文件中编写这段代码,主页确实有示例应用程序,但当我运行bundleexec时,它仍然说静态页面主页应该有内容“示例应用程序”rspec规范/requests/static_pages_spec.rbspec/requests/static_pages_spec文件代码:require'spec_helper'describe"Staticpages"dodescribe"Homepage"doit"shouldhavethecontent'SampleApp'"dovisit'/static_pages/home'page.should

c++ - 为什么现在 "{static const char a[]={...}"和 "{const char a[]={...}"之间存在差异?

看看Ccode的这个小片段或C++code在神bolt上……voidb(charconst*c);voida(void){charconstz[]={0xd,0xe,0xa,0xd,0xb,0xe,0xe,0xf,0xa};b(z);}voidc(void){staticcharconstz[]={0xd,0xe,0xa,0xd,0xb,0xe,0xe,0xf,0xa};b(z);}早期版本的gcc将a()和c()都编译成两条指令,加载z的地址,跳转到b。我尝试将所有现代编译器“悲观”a()以“制作堆栈帧,将z复制到堆栈上,调用b,拆除堆栈帧,但将c()保留为两个指令的简单版本。实际上

c++ - 为什么现在 "{static const char a[]={...}"和 "{const char a[]={...}"之间存在差异?

看看Ccode的这个小片段或C++code在神bolt上……voidb(charconst*c);voida(void){charconstz[]={0xd,0xe,0xa,0xd,0xb,0xe,0xe,0xf,0xa};b(z);}voidc(void){staticcharconstz[]={0xd,0xe,0xa,0xd,0xb,0xe,0xe,0xf,0xa};b(z);}早期版本的gcc将a()和c()都编译成两条指令,加载z的地址,跳转到b。我尝试将所有现代编译器“悲观”a()以“制作堆栈帧,将z复制到堆栈上,调用b,拆除堆栈帧,但将c()保留为两个指令的简单版本。实际上

c++ - 为什么 "static"关键字在 C 和 C++ 中有这么多含义?

这个问题在这里已经有了答案:Whatisthepurposeofstatickeywordinarrayparameteroffunctionlike"chars[static10]"?(1个回答)关闭8年前。我们知道,关键字static有multiplemeanings在C.C99中增加了合法书写的可能性voidfoo(intarr[static50]){//...}这增加了困惑,C++有静态成员变量和函数。如果所有用途都可以以某种方式连接起来,这将不会那么麻烦,但我发现对于某些情况很难找到该链接。特别是为什么应该使用static关键字来修改可见性(链接),或者它与数组的最小元素数量

c++ - 为什么 "static"关键字在 C 和 C++ 中有这么多含义?

这个问题在这里已经有了答案:Whatisthepurposeofstatickeywordinarrayparameteroffunctionlike"chars[static10]"?(1个回答)关闭8年前。我们知道,关键字static有multiplemeanings在C.C99中增加了合法书写的可能性voidfoo(intarr[static50]){//...}这增加了困惑,C++有静态成员变量和函数。如果所有用途都可以以某种方式连接起来,这将不会那么麻烦,但我发现对于某些情况很难找到该链接。特别是为什么应该使用static关键字来修改可见性(链接),或者它与数组的最小元素数量

c++ - constexpr if 和 static_assert

P0292R1constexprif已included,在C++17的轨道上。它看起来很有用(并且可以代替SFINAE的使用),但是关于static_assert的评论格式错误,不需要诊断在false分支中让我感到害怕:Disarmingstatic_assertdeclarationsinthenon-takenbranchofaconstexprifisnotproposed.voidf(){ifconstexpr(false)static_assert(false);//ill-formed}templatevoidg(){ifconstexpr(false)static_ass