小编juv*_*nis的帖子

从C++成员函数调用Objective-C方法?

我有一个class(EAGLView)调用类的成员函数C++没有问题.现在,问题是我需要在C++该类中调用一个objective-C function [context renderbufferStorage:GL_RENDERBUFFER fromDrawable:(CAEAGLLayer*)self.layer];我在C++语法中无法做到的.

我可以将这个Objective-C调用包装到同一个Objective-C类中,它首先调用C++类,但后来我需要以某种方式调用该方法C++,而我无法弄清楚如何去做.

我试图给一个指向EAGLViewC++成员函数的对象的指针,并EAGLView.h在我的C++类头中包含" " 但我得到了3999个错误..

那么......我该怎么做?一个例子很好..我只发现C了这样做的纯粹例子.

c++ objective-c

108
推荐指数
5
解决办法
10万
查看次数

前/后函数调用实现

我想知道我是否能以某种方式在C++中进行前/后函数调用.我有一个包含很多函数的包装类,在每次包装函数调用之后我应该调用另一个总是相同的函数.

所以我不想把postFunction()调用放到这样的每一个函数中:

class Foo {
    f1();
    f2();
    f3();
    .
    .
    .
    fn();
}

void Foo::f1() {
    ::f1();
    postFunction();
}

void Foo::f2() {
    ::f2();
    postFunction();
}

etc.
Run Code Online (Sandbox Code Playgroud)

相反,当我调用一些Foo的成员函数时,我希望自动调用postFunction.可能吗?这将有助于维护..

c++ function

4
推荐指数
2
解决办法
1796
查看次数

如何在C++编译期间剥离调试代码?

假设我有一个C++函数debugPrint(int foo).我怎样才能最方便地从发布版本中删除它?我不想用#ifdef包围每次调试debugPrint,因为它真的很耗时.另一方面,我希望100%确保编译器剥离对该函数的所有调用,并从发布版本中删除函数本身.如果使用函数调用产生的参数调用它,也应该发生剥离.例如,debugPrint(getFoo());. 在这种情况下,我也希望剥离getFoo()调用.我理解函数内联可能是一种选择,但不保证支持内联.

c++

4
推荐指数
2
解决办法
2111
查看次数

C指针数组范围和函数调用

我有这种情况:

{
    float foo[10];
    for (int i = 0; i < 10; i++) {
         foo[i] = 1.0f;
    }
    object.function1(foo); // stores the float pointer to a const void* member of object
}
object.function2(); // uses the stored void pointer
Run Code Online (Sandbox Code Playgroud)

第二个函数调用中浮点指针的内容是否未知?当我运行程序时,似乎得到了奇怪的结果.但是如果我将float foo [10]声明为const并在声明中初始化它,我会得到正确的结果.为什么会这样?

c++ arrays scope

2
推荐指数
1
解决办法
2091
查看次数

标签 统计

c++ ×4

arrays ×1

function ×1

objective-c ×1

scope ×1