草庐IT

const_object

全部标签

c++ - 用 stoi 声明的 Const Int 不被认为是 const

我使用CGAL编写了一个简单的测试程序,遇到了以下问题:点在上面定义为typedefK::Point_dPoint;但我认为这无关紧要。当我尝试按如下方式编译程序时:constintsize=10;PointP[size];g++这样做没有问题。如果我尝试编译:constintsize=stoi("10");PointP[size]出现以下错误error:variablelengtharrayofnon-PODelementtype'Point'(aka'Point_d>>>')为什么在从字符串中检索时将大小视为变量而不是常量? 最佳答案

c++ - 为什么调用 `int* Get()` 而不是 `const int& Get()` ?

我有一个B类,它有两个方法,一个返回指向成员变量的指针,另一个返回对该变量的常量引用。我尝试调用这些方法。在调用期间,我将返回值存储到相应的返回类型。我期望适当的返回类型最终会调用适当的方法,但我收到一个编译错误:error:invalidconversionfrom‘int*’to‘int’[-fpermissive]constint&refval2=b.Get();`Hereismycode:#includeclassB{public:int*Get(){return&x_;}constint&Get()const{returnx_;}private:intx_=0;};intma

c++ - 如果方法是const,如何找到 vector 的中值?

我创建了一个名为Collect的方法,它将一堆值添加到vector中(如下所示)voidMedian::Collect(doubledatum){myVector.push_back(datum);}我需要创建一个方法来计算我在上述方法中收集到的vector中的所有值的中位数。函数定义写在下面/*Calculatesthemedianofthedata(datum)fromtheCollectmethod.*/doubleMedian::Calculate()const{}所以我知道我首先需要对vector进行排序才能找到中位数。以下是我的尝试:doubleMedian::Calcul

c++ - 如何在 C++ 的构造函数中定义一个 extern const

两个config.json文件包含我想要存储到常量中的值。我的计划是在相应类的构造函数中加载并解析json文件,并将值赋值给常量。但是,在Debug模式下,出现“...LNK2019:unresolvedexternalsymbol...”的错误。那么,是不是不能在构造函数中定义常量呢?由于常量的值取决于变量VARIANT,我创建了一个ifelse来读取正确的.json文件。//constants.hexternconstintBARL;externconstintBAR_TOL;//constants.cppConstants::Constants(){Json::Readerrea

c++ - Objective-C++ 预编译头文件

我正在使用C++库(它恰好在iPad应用程序中,但我不确定这会有什么不同)并且真的很想预编译header以加快构建速度,但是xCode似乎通过C编译器而不是C++编译器运行预编译的头文件。有没有办法让它使用正确的编译器?我已经将所有源文件从.m更改为.mm。 最佳答案 根据Xcodedocs,为每种语言变体生成一个编译头文件。因此,如果您将#include与保护宏括起来,它应该可以工作,即#ifdefined__cplusplus#include"mycplusplusheader.h"#endif

iphone - extern 在 Objective-C 中做了什么?

如果您在一个Objective-C文件中使用extern一个C++方法(而不是一个变量),这到底有什么作用?它允许你做什么?尤其是在iPhone应用程序的上下文中。 最佳答案 它允许您调用位于C文件外部的方法 关于iphone-extern在Objective-C中做了什么?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/4166538/

c++ - const 到非常量 c++

这可能吗:将常量变量变为非常量我正在创建一个全新的字符串类,我的构造函数如下所示LString(constcharstring1[]){/*whateverIdo*/}我不会放置const关键字,但这是我获得类似字符串的唯一方法LStringls="astring";我会有很多函数来修改这个字符串即使我复制了这个字符串,我仍然无法将const转换为非const有可能吗如果没有,谁能想到漏洞好吧,有些人说没问题,这是我的代码#include#includeusingnamespacestd;classLString{public:LString(constcharstring1[]){c

java - JNI : How to handle the creation/removal of wrapped C++ object

我想包装一个C++对象,以便我可以从Java访问它。通过阅读jniandusingc++new'edobjectsinjava,我了解了如何在我的Java包装器类中保存对我的C++对象的引用。.不过,我还没有弄清楚的一件事是如何处理我的C++对象的创建和删除。当然,我可以引入创建和删除我的C++对象的native方法,但这意味着我必须在Java中自己处理内存管理……不是很Javaish。在我的Java包装器对象创建和垃圾收集时,是否有任何我应该实现的本地方法被调用? 最佳答案 您必须编写native方法来创建和销毁您的C++对象。关

使用 shared_ptr 到 const T 的 C++ 模板实例化

假设我有一个类templateclassA{public:templatevoidf(std::tr1::shared_ptr>v1,std::tr1::shared_ptr>v2){}};以下不编译:Aa;std::tr1::shared_ptr>v1(newstd::vector());std::tr1::shared_ptr>v2(newstd::vector());a.f(v1,v2);编译错误是:error:nomatchingfunctionforcallto'A,std::allocator>>::f(std::tr1::shared_ptr>>&,std::tr1::s

c++ - 语法糖 : automatically creating simple function objects

我要实现一组类模板和两个特殊变量,_1和_2.他们应该使以下内容成为合法代码://Sortascendingstd::sort(a,a+5,_1>_2);//Outputtoastreamstd::for_each(a,a+5,std::cout(std::cout,""),_1+5);我想_1*5也应该产生一个一元函数,以及_1/5等。不允许提升不允许使用lambda现在我有非常对模板和模板元编程的经验很少,所以我什至不知道从哪里开始以及我的类模板的结构应该是什么样子。我特别困惑,因为我不知道在我的类模板中是否必须为所有这些编写实现operator=,operator>>,opera