我熟悉C++构造函数和初始化器:
class Foo {
int x;
public:
Foo(int _x) : x(_x) {}
};
Foo foo1(37);
Foo foo2(104);
Run Code Online (Sandbox Code Playgroud)
我的问题是我必须实现一个具有3x6数组成员的类.我将如何做与上述相似的事情?
class Bar {
int coeff[3][6];
public:
// what do I do for a constructor????
};
Run Code Online (Sandbox Code Playgroud)
编辑:对于一个普通的数组,我会做以下,我只是不知道如何为一个类做:
static int myCoeffs[3][6] =
{{ 1, 2, 3, 4, 5, 6},
{ 7, 8, 9, 10, 11, 12},
{ 13, 14, 15, 16, 17, 18}};
Run Code Online (Sandbox Code Playgroud)
编辑2:由于各种原因(例如,这是一个有限制的嵌入式系统)我不需要使用Boost,所以如果它提供了解决方案,我就无法使用它.
更新:我没有绑定初始化程序.可以在构造函数体中执行它,也不必是内联的.我只是在寻找一种正确的方法来构造一个需要系数数组的类的实例,而不会弄乱指针赋值.
我试图修改留言簿示例webapp以减少数据库写入量.
我想要实现的是将所有的留言簿条目加载到我已经完成的memcache中.
但是,我希望能够使用新的留言簿条目直接更新内存缓存,然后每隔30秒将所有更改写入批量放置.().
有没有人有一个如何实现上述目标的例子?它会真的帮助我!
谢谢 :)
python google-app-engine memcached caching google-cloud-datastore
我在我的nodejs服务器中使用"socket.io".有没有办法在我的类/模块的范围内(在浏览器中)运行已注册的事件函数?
...
init: function() {
this.socket = new io.Socket('localhost:3000'); //connect to localhost presently
this.socket.on('connect', this.myConnect);
},
myConnect: function() {
// "this.socket" and "this.f" are unknown
// this.socket.send({});
// this.f();
},
f: function() {
// ...
}
...
Run Code Online (Sandbox Code Playgroud) 我今天尝试安装Allegro库.我在C++方面有相同的经验,但似乎我没有做过这样的事情.我从源代码编译了Allegro 5.0并将其放在/usr/lib/gcc/i486-linux-gnu/4.4/include/allegro5中.但是当我尝试编译我的代码时,会出现这种情况:
> g++ test2.cc -o test2
/home/chris/Desktop/c++/test2/.objs/main.o||In function `main':|
main.cpp:(.text+0x22)||undefined reference to `al_install_system'|
main.cpp:(.text+0x3e)||undefined reference to `al_create_display'|
main.cpp:(.text+0x6b)||undefined reference to `al_map_rgb'|
main.cpp:(.text+0x8e)||undefined reference to `al_clear_to_color'|
main.cpp:(.text+0x93)||undefined reference to `al_flip_display'|
main.cpp:(.text+0xa1)||undefined reference to `al_rest'|
main.cpp:(.text+0xa9)||undefined reference to `al_destroy_display'|
||=== Build finished: 7 errors, 0 warnings ===|
Run Code Online (Sandbox Code Playgroud)
我正在使用的代码:
#include <stdio.h>
#include <allegro5/allegro.h>
int main(int argc, char **argv)
{
ALLEGRO_DISPLAY *display = NULL;
if(!al_init()) {
fprintf(stderr, "failed to initialize allegro!\n");
return -1;
}
display = al_create_display(640, 480);
if(!display) {
fprintf(stderr, "failed to …Run Code Online (Sandbox Code Playgroud) 假设你有一个带有两个伪目标的Makefile,'all'和'debug'.'debug'目标用于构建与'all'相同的项目,除了一些不同的编译开关(例如-ggdb).由于目标使用不同的编译开关,如果在两者之间切换,显然需要重建整个项目.但GNUmake自然不会认识到这一点.
所以,如果你输入,make all你会得到
Building ...
...
Run Code Online (Sandbox Code Playgroud)
如果你打字make debug,你就得到了
make: Nothing to be done for `debug'.
Run Code Online (Sandbox Code Playgroud)
所以我的问题是:你如何在Makefile中实现一个干净的解决方案,注意到最后一个构建使用了不同的伪目标或不同的编译开关,而不是你想要的那个?如果它们不同,Makefile将重建所有内容.
是否可以在输入之前立即注册要运行的功能main?我知道所有全局对象都是在进入之前创建的main,所以我可以将代码放在全局对象的构造函数中,但这并不能保证任何特定的顺序.我想做的是将一些注册码放入构造函数中,但是唉,我不知道该放什么:)我想这是高度系统特定的?
我只是对我喜欢能够使用的东西有了这个想法:
假设我必须修复一个错误,我决定编写一个丑陋的代码行来解决当前的问题 - 但这只是因为我保证自己会很快找到时间进行适当的重构.
我希望能够以某种方式将该代码行标记为"Expired in"并添加日期 - 这样如果代码在该日期之后的某个时间编译,则会出现编译错误/警告并带有正确的消息.
有什么建议?必须可以执行 - 可能在Visual Studio中使用一些复杂的#IF或某些选项?我正在使用VS 2005 - 主要用于C#.
谢谢!
[编辑]:哇 - 从来没有想到这个问题引起如此多的兴趣:)谢谢大家的答案,并将其变成一场有趣的辩论.我知道很难证明使用这样的东西是合理的 - 而且我可能不会使用它 - 但有时候,当你必须发布一个版本的YESTERDAY并且你发现自己在一个补丁修复中妥协 - 你想强迫自己修复它在不远的将来.
我选择MartinStettner的建议作为答案,因为它满足了我的需求 - 运行时没有错误 - 仅在编译期间,不需要为此目标定义新类型 - 并且它不限于整个方法的范围.干杯!
有没有办法防止在C#中创建具有静态实例的类.我不认为有,但它可能有用.例如,只是一些属性来防止它.
这样的事情
[NoStaticInstances]
public class MyClass {
}
Run Code Online (Sandbox Code Playgroud)
以便
public static MyClass _myClass;
Run Code Online (Sandbox Code Playgroud)
会导致错误吗?
所有:
我正在使用XAML和WPF并拥有一个SurfaceCheckBox.SurfaceCheckBox的默认值似乎使文本保持在右侧.有没有办法把文字放在左边?
谢谢!
鉴于下表:
id | value
--------------
1 6
2 70
Run Code Online (Sandbox Code Playgroud)
有没有办法添加一个根据同一个表中的另一列自动计算的列?像VIEW,但同一个表的一部分.举个例子,calculated就是一半value.Calculated应该在value更改时自动更新,就像VIEW一样.
结果将是:
id | value | calculated
-----------------------
1 6 3
2 70 35
Run Code Online (Sandbox Code Playgroud)