小编Big*_*ion的帖子

从D调用C++

我已经阅读了解释如何从D解释C++的文档:http://dlang.org/cpp_interface.html.然而,有一些事情对我来说并不十分清楚.

以D网站上提供的示例为例:

#include <iostream>

using namespace std;

class D {
   public:
   virtual int bar(int i, int j, int k)
   {
       cout << "i = " << i << endl;
       cout << "j = " << j << endl;
       cout << "k = " << k << endl;
       return 8;
   }
};

D *getD() {
   D *d = new D();
   return d;
}
Run Code Online (Sandbox Code Playgroud)

然后可以从D调用C++类,如下所示:

extern (C++) {
    interface D {
        int bar(int i, int j, int k); …
Run Code Online (Sandbox Code Playgroud)

c++ d

16
推荐指数
2
解决办法
1072
查看次数

在VS Code中自动添加版权横幅

有没有一种简单的方法来配置VS代码以将自定义版权标题添加到文件?我在考虑使用代码片段.是否有更好的方法来实现同样的目标?谢谢!

visual-studio-code

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

如何从父级中删除QObject

如何破坏QObject的父子所有权?似乎不再有明确的方法来做到这一点.打电话就够了

QObject::setParent(NULL)
Run Code Online (Sandbox Code Playgroud)

qt qobject

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

C++ 11:我应该使用valarray或vector进行数值计算

这里已经提到了vector vs valarray的问题.我的问题专门针对C++ 11的情况.我一直在阅读"C++之旅""C++编程语言".这两本书都是由Bjarne Stroustrup撰写的.在第一本书中,作者解释说std::valarray应该首选数值计算(第12章).但是在第二章的第29章中,作者用a实现了一个Matrix类std::vector.

通过谷歌搜索,似乎在性能方面,a std::vector与动态分配"原始数组"一样快.

那么在C++ 11的上下文中,哪个容器应该是数值计算的首选?

我对此的看法是,因为std::vector使用operator[](它返回对数据的引用而没有边界检查)提供对其内容的快速访问,并且使用std::vector动态分配的数组也更安全,std::vector应该是首选.此外,从C++ 11开始:

  • std::vector 使用提供对底层数据的直接访问 std::vector::data()
  • 可以调整std :: vector的大小以便使用更少的内存 std::vector::shrink_to_fit()

c++11 valarray

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

如何在vaadin TextArea中检测输入键按下

我使用vaadin TextArea作为粗略的控制台.用户可以输入在按下回车键时应该执行的命令.有没有办法在TextArea上使用侦听器指定它?

我发现最接近的是使用:

TextArea textArea = new TextArea();
textArea.addTextChangeListener(this);
textArea.setTextChangeEventMode(TextChangeEventMode.EAGER);
Run Code Online (Sandbox Code Playgroud)

并处理文本更改事件:

@Override
public void textChange(TextChangeEvent event) {
   System.out.println(event.getText());
}
Run Code Online (Sandbox Code Playgroud)

但是,只要在TextArea中输入了文本,就会触发此操作.我希望只有在按下回车键时才会收到通知.

java textarea keypress vaadin

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

下一个MVC 6是ASP.NET 4.6或ASP.NET Core 1.0的一部分还是两者兼而有之?

我最感兴趣的是MVC 6中用于构建restful服务的统一Web API.但是,目前我对这些组件如何组合在一起感到困惑.使用最新的Visual Studio 2015构建新应用程序时,MVC 6可用作ASP.NET 5模板.我的理解是ASP.NET 5现在是ASP.NET Core 1.0.这对MVC 6意味着什么?将来如何支持?它是ASP.NET Core 1.0,ASP.NET 4.6还是两者的一部分?有人可以解释这些组件如何组合在一起吗?谢谢!

asp.net-web-api asp.net-core-mvc asp.net-core

9
推荐指数
2
解决办法
3987
查看次数

在Nodejs插件中调用ObjectWrap :: Unwrap时如何检查正确的类型?

我有2个C++类作为javascript类公开,VanillaOption并且NoomraEngine都继承自ObjectWrap.

在下面的方法中NoomraEngine,我应该收到一个以前的"包装" VanillaOption:

Handle<Value> 
NoomraEngine::Price(const Arguments& args) {
    HandleScope scope;
    Local<Object> object = args[0]->ToObject(); //  VanillaOption expected in args[0] 

    VanillaOption* equityOption = ObjectWrap::Unwrap<VanillaOption>(object);

    Local<Number> x = Number::New(this->price(equityOption));
    return scope.Close(x);
}
Run Code Online (Sandbox Code Playgroud)

一切正常,但如果我将错误的类型传递给方法,节点崩溃了ObjectWrap::Unwrap.

我的问题是如何确保我收到了正确的类型args[0]

add-on node.js

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

如何使用qmake指定目标mac os x版本

我试图使用Qt Creator/qmake在Mac OS X上编译c ++ 11代码,我收到以下错误:

clang: error: invalid deployment target for -stdlib=libc++ (requires OS X 10.7 or later)
Run Code Online (Sandbox Code Playgroud)

当我检查编译命令行时,我注意到它包含-mmacosx-version-min = 10.6标志.我尝试按如下方式更新我的.pro文件,但似乎没有考虑到这一点:

QMAKE_CXXFLAGS += -std=c++11 -stdlib=libc++

macx {
    -mmacosx-version-min=10.7
}
Run Code Online (Sandbox Code Playgroud)

任何的意见都将会有帮助.谢谢!

c++ macos qt qmake

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

为什么编译器抱怨这不是constexpr?

我正在尝试学习如何在实践中使用C++常量表达式,并创建以下Matrix类模板用于说明目的:

#include <array>

template <typename T, int numrows, int numcols>
class Matrix{
public:
    using value_type = T;
    constexpr Matrix() : {}
   ~Matrix(){}

    constexpr Matrix(const std::array<T, numrows*numcols>& a) :
        values_(a){}

    constexpr Matrix(const Matrix& other) :
        values_(other.values_){

    }

    constexpr const T& operator()(int row, int col) const {
        return values_[row*numcols+col];
    }

    T& operator()(int row, int col){
        return values_[row*numcols+col];
    }

    constexpr int rows() const {
        return numrows;
    }

    constexpr int columns() const {
        return numcols;
    }


private:
    std::array<T, numrows*numcols> values_{};
};
Run Code Online (Sandbox Code Playgroud)

我们的想法是拥有一个简单的Matrix类,我可以将它用于小矩阵,以便在编译时评估Matrix表达式(请注意,我还没有实现常用的Matrix运算符来进行加法和乘法).

当我尝试按如下方式初始化Matrix实例时:

constexpr …
Run Code Online (Sandbox Code Playgroud)

c++ visual-c++ constexpr c++11

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

如何确定 Apollo 客户端的 InMemoryCache 当前缓存大小

我需要使用 Apollo Client 对 React Native 应用程序进行一些内存使用情况分析。有没有一种简单的方法可以确定缓存在某个时间点增长了多大(API 调用或任何其他确定 InMemoryCache 大小的方法)?

apollo-client

8
推荐指数
0
解决办法
541
查看次数