function相关内容
以下是我在学生代码中有时看到的模式的简化版本: bool foobar ,int b) { if(a
..
我是C ++的新手,根据我所学到的,当你对指向堆上创建的某个指针的指针调用delete时,该指针指向的内容被擦除,内存被释放,是吗? p> 但是当我在一个简单的类上尝试这个时: class MyClass { int _Id; public: MyClass(int id):_Id(id) { std :: cout
..
我有一个用C ++编写的DLL,我想将C#函数传递给C ++ DLL中的函数,并从C ++调用C#函数。我该怎么做?提前感谢,请保持您的答案简单。我不认为我需要发布一个代码示例为这一个,但如果你需要一个请问。 解决方案 通常有两种方法来实现这一点:COM Interop和Reverse PInvoke。如果你传递很多对象与行为,然后COM互操作可能是你最好的赌。这里虽然听起来你只是试图传递
..
如何获得C ++中函数的大小? 假设我有一个函数: void f() { / * do something * / } ...通过 f 的大小,我的意思是代码的大小 / *做某事* / ,从指向 f 的指针开始。 解决方案 你不能。它甚至可能不是一个明确定义的概念。例如,考虑以下代码: int f(int a){ return(3 * a
..
有没有办法告诉编译器(我的情况下是g ++)不优化某些代码,即使该代码不可达?我只需要在对象文件中的那些符号。 示例:这里是一个简单的函数,我希望这个函数被编译,即使它从未调用。 / p> void foo(){ Foo
..
我可以使用: MyClass& MyClass :: operator ++(){ a ++; // private var of MyClass return(* this); } 或者可以是: MyClass MyClass :: operator ++(); 有什么区别? 感谢您的回答。我有另一个问题。
..
当我以独立的行输入以下内容时: std :: endl; p> 我得到以下错误: 语句无法解析重载函数的地址 为什么?我不能以 std :: endl; 作为独立行写吗? 谢谢。 b $ b 解决方案 std :: endl 是一个函数模板。通常,它用作插入运算符
..
例如: inline string& GetLabel(){ return m_Label; }; 其中m_Label是一个私有类成员变量。 我认为我的理解,这个函数将返回一个对变量m_Label的引用。在我的程序中使用这将是什么的意义,它会更好只是返回的值,而不是参考?谢谢! 解决方案 它返回对私人成员的引用。 在许多情况下,这是可取
..
std :: function 是几乎任何可调用事物的有用的包装,包括自由函数,lambda,函数,成员函数, std :: bind 。然而,当创建一个 std :: function 时,必须明确指定函数签名为 (取自此处) struct Foo { Foo(int num):num_(num){} void print_add(int i)const {std ::
..
问题在于提及 此 ,这是早些时候发布。 虽然OP很高兴接受解决他的问题的答案,我有一个有趣的细节,为什么编译器给出一个看似错误的错误。 下面是我创建的一个小代码示例,演示如下: class YourClass { }; class YourClass2 { }; class MyClass { public: void doSomething(You
..
我遇到了关于覆盖虚拟函数的问题,事实上,它是关于hessian(一个Web服务协议)。 它有一个基类Object,派生类:Long,Int,String,...,所有派生类都有一个无虚函数“value”。 Object { ... }; class Long:public Object { ... public: typedef long long b
..
如果我有一个程序: #include
..
我有一个可重用的函数在一些CUDA代码,需要从设备和主机调用。是否有适当的限定符? 例如。在这种情况下,func1的正确定义是什么: int func1(int a,int b){ return a + b; } __global__ devicecode(float * A){ int i = blockDim.x * blockIdx.x + threadIdx.x
..
一个基本的问题,我不知道答案。跟随函数是否有效? std :: vector & test_function(){ std :: vector X; // do whatever return x; } 如果是,为什么?应该不是程序从函数返回后从堆栈中删除x?谢谢。 解决方案 行为未定义。您不应返回对局部变量的引用。
..
这是我之前问题的后续函数参数销毁的顺序是什么?因为我不小心把参数和参数混淆了。感谢Columbo和T.C. 如果某些函数的主体 f T_1 的参数 p $ ,..., p_n $ c>,..., T_n 分别抛出异常,完成或返回,以什么顺序销毁参数,为什么? 例如: template void f(Args ... params){}
..
我可以在成员函数中使用线程来调用Windows中的C ++的成员函数吗?如果是,如何实现呢?下面是示例 void Class :: fun_1(void){ _beginthread(fun_2,0,NULL); //这是错误行:: function call missing argument list;使用'& Class :: fun_2'创建一个指向成员的指针 } void
..
all: 这是从Effective C ++第三版编辑中引用的 const_cast通常用于丢弃对象的constness 。这是唯一的C ++风格的转换可以做到这一点。 我的问题是可以const_cast添加constness到一个非const对象? 实际上我写了一个小程序试图批准我的想法。 class ConstTest { public: void test
..
我有以下问题。我有一个外部库(不能修改)的函数,如下所示: void externalFunction(int n,void udf double *)); 我想作为udf函数传递给现有类的函数成员。请查看以下代码: //外部函数(通常来自外部库) void externalFunction n,void udf(double *)) { // do so
..
我是编程的新人。我一直在尝试在C ++中编写一个函数,它将一个字符串的内容展开为给定参数的字符串数组,例如: string str =“___this_ is__ th_e str__ing we__ will use__”; 应返回字符串数组: cout
..
这似乎应该是自动的,但显然不是。我有以下代码: ui.my_label-> setText(“Test 1 ...”); ui.my_label-> adjustSize(); processThatTakesAbout30SecondsToFinish(files [0] .toStdString()); ui.my_label-> setText(“Finished
..