小编Mai*_*ein的帖子

我为什么要嵌入脚本语言?

我现在正在学习C++,我听过很多关于嵌入式脚本语言的知识.我想象它完全不同.

我以为我会用C++编写所有性能繁重的函数,并用Lua或Python等脚本语言调用它们.

但它似乎是另一种方式. - >在Lua/Python中编写函数并用C代码调用它们.

在C++中嵌入语言而不是用C++编写API并用另一种语言调用这些函数有什么好处?

例:

// function in c++
int expensiveFunction(){
  return 1;
}
Run Code Online (Sandbox Code Playgroud)

然后在Python中我将调用此函数,我将从C++获得性能,但由于Python的运行时解释器,可以在运行时进行更改.

c++ python lua

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

QtCreator中没有"自动完成"支持自动变量

我正在测试不同的IDE和QtCreator是我最喜欢的,但似乎不支持auto关键字?

在此输入图像描述

我是c ++的新手,但机器人变体应该是一样的吗?(也许是唯一的指针)但是我没有得到变量的自动完成功能o1

我只是犯了一个错误,或者QtCreator不支持自动?

c++ autocomplete qt-creator c++11

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

我是否想要在沙箱外安装包?

使用Haskell 3个月后,我才意识到我不应该使用cabal作为包管理器.

现在我的问题是我是否想要在沙箱之外安装软件包?如果是,为什么?

haskell cabal

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

动态数组的内存布局是什么?

auto  array =  new Foo[100];
Run Code Online (Sandbox Code Playgroud)

我的第一个问题是内部如何看待?我假设:

如果Foo是一个类,那么array是一个指向foo对象指针数组的指针 vector<Foo*> v //c++

如果Foo是一个struct,那么array是一个指向Foo对象数组的指针. vector<Foo> v //c++

D ++中的动态数组是否像C++一样在内存中连续?

d

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

从`VkVertexInputBindingDescription`中绑定`的目的是什么?

https://www.khronos.org/registry/vulkan/specs/1.0/man/html/VkVertexInputBindingDescription.html

  • binding是此结构描述的绑定号.

我不确定这是什么意思,例如来自https://github.com/SaschaWillems/Vulkan/blob/master/triangle/triangle.cpp

    #define VERTEX_BUFFER_BIND_ID 0
    ....
    vertices.inputAttributes[0].binding = VERTEX_BUFFER_BIND_ID;
    vertices.inputAttributes[0].location = 0;
    vertices.inputAttributes[0].format = VK_FORMAT_R32G32B32_SFLOAT;
    vertices.inputAttributes[0].offset = offsetof(Vertex, position);
    // Attribute location 1: Color
    vertices.inputAttributes[1].binding = VERTEX_BUFFER_BIND_ID;
    vertices.inputAttributes[1].location = 1;
    vertices.inputAttributes[1].format = VK_FORMAT_R32G32B32_SFLOAT;
    vertices.inputAttributes[1].offset = offsetof(Vertex, color);
Run Code Online (Sandbox Code Playgroud)

并且顶点着色器看起来像这样

#version 450

#extension GL_ARB_separate_shader_objects : enable
#extension GL_ARB_shading_language_420pack : enable

layout (location = 0) in vec3 inPos;
layout (location = 1) in vec3 inColor;

layout (binding = 0) uniform UBO 
{
    mat4 projectionMatrix;
    mat4 modelMatrix;
    mat4 viewMatrix;
} ubo;

layout …
Run Code Online (Sandbox Code Playgroud)

c++ vulkan

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

选择数据库服务 - mongohq vs dynamodb

目前我正在收集我们应该使用的数据库服务的信息.我仍然是Web开发的新手,但我们认为我们想拥有一个noSQL数据库.

我们正在使用Java与Play!2.

我们只需要一个用户注册数据库.

现在我已经熟悉了GAE ndb,它是一个关键值存储,例如dynamoDB.MongoDB是一个文档db.我不确定每个解决方案有什么优势.

我也知道dynamoDB在SSD上运行,而mongoDB也在内存中.

mongoDB的一个优点就是Java Play!已经"支持"mongodb.

现在我们不期望太多的数据库使用,但如果我们的应用程序增长,我们需要快速扩展.

我有什么替代品?他们有什么利弊?考虑到:

  • 价钱
  • 缩放
  • 便于使用
  • 玩!支持?

java database mongodb playframework-2.0 amazon-dynamodb

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

抽象类的命名约定?

我知道接口的命名约定就像IName.但是如果我要创建一个抽象类呢?

我还应该在班级名字前面写一个I吗?

c++

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

在F#中编写符合CLS的代码

我是F#的新手,我开始在OpenGL上编写我的功能包装器.我还打算用它来编写一个应该与所有.Net语言互操作的图形引擎.

但是很难找到有关F#中哪些代码构造不符合CLS的信息.

例如,我已经知道一些不符合CLS的:

  • 静态类型约束
  • 无元组功能
  • 大概 'T list and Seq
  • 甚至可能是工会类型

我怎么知道F#的哪些功能不符合CLS?

f#

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

检查A是否是B的子类?

我目前正在使用虚幻引擎4,似乎我无法避免一些演员表.

AController* c = this->GetController();
APlayerController* p = (APlayerController*)c;
Run Code Online (Sandbox Code Playgroud)

有没有办法可以在我演员之前检查是否c是一个PlayerController

c++ unreal-engine4

7
推荐指数
2
解决办法
4332
查看次数

模板参数"F"不明确

#include <functional>
#include <iostream>
template<typename T>
class MaybePtr{
    T* ptr;

public:
    MaybePtr(T* p) : ptr(p) {}

    template <typename F,typename R = std::result_of<F(T*)>::type>
    R Get(F access,F default){
        if (ptr != nullptr)
            return access(ptr);
        else
            return default(ptr);   
    }
};
template <typename T>
void f_void(T*) {}
int main(){
    int * iptr = new int;
    *iptr = 10;
    auto m = MaybePtr<int>(iptr);
    auto f = [](int* i) -> int {return *i + 1; };
    auto f1 = [](int* i) -> int { return 0; …
Run Code Online (Sandbox Code Playgroud)

c++ c++11

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