小编Mic*_*rst的帖子

使用Cocoa的简单OpenGL示例

我一直试图在Objective-C中使用OpenGL创建一个场景几周,而我似乎无法让它工作.我开始使用绘图到NSOpenGLView类:一个教程,这对我来说很好,我甚至可以稍微扩展它,但是OpenGL编程指南在那一步之后留下了一些漏洞.他们解释了如何加倍缓冲和同步刷新率以及所有这些的详细信息,但它们没有提供有关如何更新视图的任何实际示例.所以目前我可以在屏幕上绘制很多很酷的东西,但是一旦它在那里它只是一个静态图像.没有动,没有旋转.
有谁知道这是如何实际完成的一个很好的简单例子?

opengl cocoa objective-c

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

为什么我们需要extern?

这个问题中,我问为什么

//foo.h
namespace foo{
    int bar;
}
Run Code Online (Sandbox Code Playgroud)

当我包含foo.h多个文件时,我给了一个链接器错误.结果我需要extern int bar;防止错误.我为什么需要extern?我不想extern在每个要在多个翻译单元中访问的命名空间中的每个变量之前键入.为什么int bar;不做我所期望的呢?为什么C++标准委员会坚持让我extern到处打字?

c++ namespaces extern

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

Arduino的新操作员

我被告知(特别是在Arduino上的C++标准库,以及Stack Overflow问题C++字符串和Arduino字符串的答案.如何组合它们?))Arduino编译器没有实现new运算符.但是,我已经为使用它的Arduino(在Arduino IDE中)编写了一个程序,它运行得很好.

void setup() {
    Serial.begin(9600);
}

void loop() {
    char* array;
    char c;
    unsigned arraySize;

    Serial.write("Enter a 1 digit number.\n");

    do {
        c = Serial.read();
    } while(c < '0' or c > '9');
    arraySize = c-'0';

    Serial.write("You wrote ");
    Serial.write(c);
    Serial.write(".\n");
    Serial.write("Now enter ");
    Serial.write(c);
    Serial.write(" lower-case letters.\n");

    array = new char[arraySize];

    for (unsigned i = 0; i < arraySize;) {
        array[i] = Serial.read();
        if (array[i] >= 'a' and …
Run Code Online (Sandbox Code Playgroud)

c++ arduino new-operator arduino-ide

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

在 ArrayList.size() 中使用条件语句

我尝试使用 if-else 语句作为将元素添加到数组列表的条件。但是,它不断在条件之上添加一个元素。

private ArrayList<Musician> songMusicians;
this.songMusicians = new ArrayList<>();
Musician musician = new Musician(name);
if (songMusicians.size() < 6) { //same output for (songMusicians.size() <= 5)
    songMusicians.add(musician);
} else {
    System.out.println("You can't have more than 5 musicians per song");
}
Run Code Online (Sandbox Code Playgroud)

因此,它没有向数组列表 songMusicians 添加 5 个元素,而是添加了 6 个元素。

java if-statement arraylist

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

将工作委托给超类的构造函数

可能重复:
C++超类构造函数调用规则

你如何将工作委托给超类的构造函数?例如

class Super {
public:
    int x, y;
    Super() {x = y = 100;}
};
class Sub : public Super {
public:
    float z;
    Sub() {z = 2.5;}
};
Run Code Online (Sandbox Code Playgroud)

我怎么Sub::Sub()Super::Super(),这样我就不必设置xy在两个构造?

c++ polymorphism constructor

0
推荐指数
1
解决办法
1412
查看次数

将 uint16_t 分配给 std::vector&lt;uint8_t&gt; 索引的行为

std::vector<uint8_t> v(4);
uint16_t cafe = 0xCAFE;
uint16_t babe = 0xBABE;
v[0] = cafe;
v[2] = babe;
Run Code Online (Sandbox Code Playgroud)

我想要的行为会导致:

v[0] == 0xCA
v[1] == 0xFE
v[2] == 0xBA
v[3] == 0xBE
Run Code Online (Sandbox Code Playgroud)

但我得到的是:

v[0] == 0xFE
v[1] == 0x00
v[2] == 0xBE
v[3] == 0x00
Run Code Online (Sandbox Code Playgroud)

我应该怎么做才能得到我想要的结果?

c++

0
推荐指数
1
解决办法
893
查看次数

std :: tolower的行为在不同的语言环境中如何变化?

我正在阅读cppreference.com上文档std::tolower:

根据当前安装的C语言环境定义的字符转换规则将给定字符转换为小写.

在默认的"C"语言环境中,以下大写字母ABCDEFGHIJKLMNOPQRSTUVWXYZ将替换为相应的小写字母abcdefghijklmnopqrstuvwxyz.

这种行为在不同的语言环境中如何变化?

c++ locale tolower

0
推荐指数
1
解决办法
398
查看次数

const T*和T*const有什么区别?

对于给定的类型T:

const T *和之间有什么区别T * const

还有,还有其他地方const可以去吗?比如,是T const *一件事吗?你能const在一个表达中有多个,比如const T * const

c c++ const

0
推荐指数
1
解决办法
1395
查看次数