【发布时间】:2016-05-05 14:07:53
【问题描述】:
我正在使用 Swig 在 ruby 中使用 C++,目前我已经做了一个文件 david.h 的简单示例
#include <stdio.h>
class David
{
public:
David(int x)
{
this->x = x;
}
void announce()
{
printf("David %d\n", x);
}
int x;
};
还有一个像这样的 swig 文件
%module "david"
%{
#include <libdavid.h>
%}
class David
{
public:
David(int x);
void announce();
int x;
};
我的extconf.rb 看起来像这样
require 'mkmf'
system('swig -c++ -ruby libdavid.i') or abort
create_makefile('david')
这可以帮助我在 ruby 中执行一个非常简单的示例
2.2.1 :001 > a=David::David.new(42)
=> #<David::David:0x000000022c3ec0 @__swigtype__="_p_David">
2.2.1 :002 > a.x
=> 42
现在我已经努力了一段时间,但我根本不知道如何使用 c++ stl 中的 set,如示例 here 中给出的那样。 如果有人可以帮助我创建一组整数或向量的 stl 并展示如何在该集合/向量上工作的插入和擦除方法,那将是非常好的。简单的代码示例不仅对我很有用,而且对许多将来可能面临这种情况的人也很有用。
这只是个人要求,如果您很忙,请随意跳过。
老实说,我已经使用堆栈溢出很长一段时间了,但慢慢地我开始对社区感到失望。我已经发布了一些问题,但没有收到满意的答案,没有赞成票,没有反对票,什么都没有,我只是没有收到任何答案。令我惊讶的是,可以在简单的谷歌搜索中回答的极其微不足道的问题通常非常受欢迎,而来自新用户的重要问题要么被严重否决,要么被完全忽略。我知道社区不欠我任何东西。但如果有人能解释可能的原因,我将非常感激。
谢谢
【问题讨论】: