如果我没有在结构中定义构造函数,我可以通过选择某个值来初始化它,如下所示:
struct Foo {
int x, y;
};
Foo foo = {.y = 1};
Run Code Online (Sandbox Code Playgroud)
但是如果我添加新的默认构造函数,那么我就会失去这个功能:
struct Bar {
int x, y;
Bar(int value) : x(value), y(value) {}
};
Bar bar1 = 1;
Bar bar2 = {.y = 2}; // error: a designator cannot be used with a non-aggregate type "Bar"
Run Code Online (Sandbox Code Playgroud)
是不是两种方法都可以呢?
我尝试添加默认构造函数Bar () {},但似乎也不起作用。
我有以下代码,我尝试从字符串加载 SVG
const std::string svg =
"<svg height='200' width='200'><circle cx='100' cy='100' r='80' stroke='white' stroke-width='4' fill='black'/></svg>";
SDL_RWops *rw = SDL_RWFromConstMem(&svg, svg.size());
SDL_Surface *surface = IMG_Load_RW(rw, 1);
SDL_Texture *texture = SDL_CreateTextureFromSurface(renderer, surface);
Run Code Online (Sandbox Code Playgroud)
但是当我使用纹理时它不会绘制任何东西。
当我使用 IMG_LoadTexture 从文件加载相同的 SVG 时效果很好,所以我确信这是可以完成的,但我找不到方法。
我认为这里的问题可能是我如何将 SVG 传递到 SDL_RWFromConstMem
我有这个文件夹结构
.
??? admin/
? ??? ...
??? services/
??? user/
? ??? main.js
? ??? model.js
??? post/
??? main.js
??? model.js
Run Code Online (Sandbox Code Playgroud)
这个脚本在 package.json
"scripts": {
"admin": "nodemon src/admin/ --exec babel-node",
},
Run Code Online (Sandbox Code Playgroud)
我只想在admin/内部的某些内容发生更改或admin 文件夹外部名为model.js的文件发生更改时重新启动该过程。
我怎么能做到这一点?
我有以下函数,可以在窗口上绘制像素网格,我正在使用 sdl。
问题是速度太慢了!它使我的程序以 10fps 运行,所以我想我一定做错了什么。
这是我正在使用的代码
void rayTracing(SDL &sdl) {
int nx = 1440;
int ny = 810;
for (int x = 0; x < nx; x++) {
for (int y = 0; y < ny; y++) {
float r = float(x) / float(nx);
float g = float(y) / float(ny);
float b = 0.2;
int ir = int(255.99 * r);
int ig = int(255.99 * g);
int ib = int(255.99 * b);
SDL_SetRenderDrawColor(sdl.renderer.get(), ir, ig, ib, 255);
SDL_RenderDrawPoint(sdl.renderer.get(), x, ny …Run Code Online (Sandbox Code Playgroud) c++ ×2
constructor ×1
javascript ×1
node.js ×1
nodemon ×1
package.json ×1
sdl ×1
sdl-2 ×1
svg ×1