草庐IT

variable-declaration

全部标签

c++ - 构造函数执行顺序/顺序 : dependent initialization of static variable (class instance) in a function

对于以下代码段:classBar{public:intx;inty;Bar(int_x,int_y){/*somecodeshere*/...}};classFoo{public:intx;inty;intz;Foo(Barb):x(b.x),y(b.y){z=someFunction(x,y);}};voidf(intx,inty){Barb(x,y);staticFoox(b);}intmain(){f(2,3);}在我看来,函数内的静态变量甚至应该在main()之前初始化。但是,Foo类型的静态变量x依赖于Bar类型的局部变量b。问题是:1)x的构造函数什么时候执行?即x是在第一

c++ - 如何追踪 LLVM verifyFunction 错误 "Expected no forward declarations!"?

我正在LLVM中为我的一种新语言开发编译器,但在生成调试信息时遇到了问题。我还没有找到很多关于如何使用DIBuilder实际生成调试信息的文档。所以我很可能做错了很多事。我一直在看Kaleidoscope示例,因为它是我发现的唯一一个使用调试信息的示例。我还没有打开Clang来查看他们是如何使用它的,但我很想听听已经使用过的人的意见。我已经能够使用一些更复杂的示例来编译和运行我的语言,但是我从一些基础知识开始重新添加调试支持。这是我要编译的简单脚本:doublemy_main(){return0.0;}这是我从verifyFunction、verifyModule和转储模块的输出。编辑

c++ - 是什么让这个 "declarator invalid"? C++

我在vertex.h中有Vertex模板。来self的graph.h:20template21classVertex;我在我的图表模板中使用它。我已经在整个图形中成功使用了Vertex模板,返回指向顶点的指针等。现在我第一次尝试声明和实例化一个Vertex对象,gcc告诉我我的“声明符”是'无效的'。怎么会这样?81template82GraphGraph::Dijkstra(vertexs,boolprint=false)const83{84/*ConstructnewGraphwithapropriatedecorators*/85Graphspan=newGraph();86sp

C++ 错误 : was not declared in this scope with private after public

试图修改来自thispage的代码.问题代码如下:#include#includetemplateclassconst_reverse_wrapper{public:const_reverse_wrapper(constT&cont):container_(cont){}decltype(container_.rbegin())begin()const{returncontainer_.rbegin();}decltype(container_.rend())end(){returncontainer_.rend();}private:constT&container_;};templ

c++ - 提高可读性和可维护性 : omit < > for many variable declaration possible?

关闭。这个问题是opinion-based.它目前不接受答案。想改善这个问题吗?更新问题,以便可以通过editingthispost用事实和引文回答问题.5年前关闭。Improvethisquestion这个问题看起来很抽象。我将通过一个例子来提问。介绍假设我有多种类型的游戏对象。他们是子弹,火箭,敌人,区域,......它们都由池很好地创建、删除和管理,例如PoolpoolBullet;PoolpoolRocket;游戏逻辑将以Pool_Handle的形式管理对象,例如Pool_Handlebullet=poolBullet.create();Pool_Handlerocket=po

c++ - C++ "declaration and initialization"语句是表达式吗?

语言标准说:[Note:Clause5definesthesyntax,orderofevaluation,andmeaningofexpressions.58Anexpressionisasequenceofoperatorsandoperandsthatspecifiesacomputation.Anexpressioncanresultinavalueandcancausesideeffects.—endnote]例如我的代码如下:inti=1;Aobj;那么,上面的两个语句,算作“表达式”吗?有些人在stackoverflow上说“inti=1;”不是一个表达式。这对我来说很奇

c++ - 为什么 std::condition_variable 采用 unique_lock 而不是 lock_guard?

这个问题在这里已经有了答案:C++11:whydoesstd::condition_variableusestd::unique_lock?(2个答案)关闭4年前。std::condition_variable使用如下:std::condition_variablecv;...std::unique_locklk(m);cv.wait(lk,[]{returnprocessed;});在我看来有一个有趣的问题。unique_lock可以延迟,它可以被交换掉。它可能有许多其他代码设计原因,不一定是错误的,它实际上没有被锁定。例如。std::unique_locklk(m,std::try

iOS : Other alternative to instance variable?

我有一个别人写的项目,我接手了它,希望能把应用做得更好。我遇到了一个问题:来自一个类(class):我写_customclass.variable。CustomClass是另一个类,变量是一个属性,是int类型。我在这个类中获取变量的值,但是当我将它更改为self.customclass.variable时,我总是得到0。是否有其他替代方法可以从其他类中获取值?(一)@property(readwrite)intboxSpacing;(b)@synthesizeboxSpacing;(三)-(id)initWithCoder:(NSCoder*)aDecoder{self.boxSpa

ios - "Variable binding in a condition requires an initializer"Swift 2.0 错误

您好Stackoverflow社区,我正在寻求有关Swift2.0的帮助。我最近为iOS9升级了我的Xcode,在构建我的应用程序时,它失败并出现以下错误。“条件中的变量绑定(bind)需要一个初始化器”-这是引用以下代码片段:privatefuncisRedirectToApp(url:NSURL)->Bool{ifletNSURL(string:self.oauthState.redirectUri)?.scheme,redirectScheme=url.scheme{returnNSURL==redirectScheme}returnfalse}有人可以帮我解决这个问题或指导我获

iphone - Objective-C : __block variables

是否可以为局部变量分配一个范围在block外的值并保留其值?特别是,我正在为iOS编码,我在另一个block内有一个嵌套block,我想在block内为NSString分配一个值,然后(在block外)使用它。当我在block之后引用NSString时,我尝试使用__blocknut我得到一个错误的访问错误。我正在使用ARC,这很重要。例如:__blockNSString*str;someBlock^(idparam1){str=@"iPhone";}[strgetCharAtIndex:1];//orw/e我是不是在做一些概念上的错误,或者这是不允许的,或者是什么?非常感谢您的帮助。