小编P0W*_*P0W的帖子

Eclipse CDT无需复制即可添加现有源

我有一个带有一些源文件的C++项目proj1,但我想也使用我在另一个项目proj2中的一些源文件.proj1和proj2都是目录my_projects的子目录.我不希望eclipse复制文件,因为我想确保我只有一个副本可以编辑.这就像MS Visual Studio的"添加现有项目"选项.

我的目标最终结果是能够为proj1和proj2创建makefile,将两个目录压缩在一起并将它们发送给同事,这样他们就可以使用make自己构建这两个项目.

这在Eclipse中可行吗?我搜索过但没有找到解决方案.

菲尔

c++ eclipse

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

运算符关键字c ++

我们有以下课程.我需要解释一些代码部分.

class CPoint3D
    {
    public:
      double x, y, z;

      CPoint3D (double dX = 0.0, double dY = 0.0, double dZ = 0.0) 
              : x(dX), y(dY), z(dZ) {}
      //what means these lines of    code?
      CPoint3D operator + (const CPoint3D& point) const;
      CPoint3D operator - (const CPoint3D& point) const;
      CPoint3D operator * (double dFactor) const;
      CPoint3D operator / (double dFactor) const;
};
Run Code Online (Sandbox Code Playgroud)

我想用

CPoint3D operator + (const CPoint3D& point) const;

函数我可以轻松地添加/减去/乘/除除CPoint3D类的实例?

有人可以用例子解释一下吗?谢谢!

c++ operator-keyword

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

以静态成员C++ FAQ的地址为例

是什么这个 C++ FAQ试图传达?

如果(并且仅当)它具有类外定义,您可以获取静态成员的地址:

class AE {
    // ...
public:
    static const int c6 = 7;
    static const int c7 = 31;
};

const int AE::c7;   // definition

int f()
{
    const int* p1 = &AE::c6;    // error: c6 not an lvalue
    const int* p2 = &AE::c7;    // ok
    // ...
}
Run Code Online (Sandbox Code Playgroud)

然而这编译!

c++

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

递归模板元编程

为了计算阶乘,我可以使用:

template<int N> struct factorial { enum { value = N * factorial<N-1>::value }; };

template<> struct factorial<1> { enum { value = 1 }; }; //base Case
Run Code Online (Sandbox Code Playgroud)

然后可以像下面一样使用它

x=factorial<8>::value;

那么,是否有可能获得类似的递归模板

 unsigned Log2(unsigned n, unsigned p = 0) {
    return (n <= 1) ? p : Log2(n / 2, p + 1);
}
Run Code Online (Sandbox Code Playgroud)

我能想到这个:

template<int N,unsigned int P=0> struct Log2 
    { enum { value = Log2<N/2,P+1>::value }; };
Run Code Online (Sandbox Code Playgroud)

但不知道如何设置基础案例.

 template<> struct Log2<0,???> { enum { value = ???? }; }; …
Run Code Online (Sandbox Code Playgroud)

c++ templates

6
推荐指数
1
解决办法
2316
查看次数

如何制作"std :: cout << 123456789.12"打印"123456789.12"?

我该怎么做

std::cout << 123456789.12
Run Code Online (Sandbox Code Playgroud)

打印这个:

123456789.12
Run Code Online (Sandbox Code Playgroud)

它始终打印这个:

1.23457e+008
Run Code Online (Sandbox Code Playgroud)

我知道我必须玩旗帜,但我无法弄清楚正确的组合.如果我设置固定标志,则打印

123456789.120000
Run Code Online (Sandbox Code Playgroud)

c++ cout decimal

6
推荐指数
2
解决办法
221
查看次数

在没有重载的情况下,这个[i]在c ++中是什么意思

这是来自WebKit的代码:

class ExecState : public Register 
{
 JSValue calleeAsValue() const { return this[JSStack::Callee].jsValue(); } 
 ... 
}
Run Code Online (Sandbox Code Playgroud)

JSStack::Calleeconst,Operator[]没有超载ExecStateRegister,

那么c ++中的语法是this[JSStack::Callee]什么?

c++

6
推荐指数
1
解决办法
168
查看次数

错误LNK2019未解析的外部符号_WinMain @ 16在函数"int __cdecl invoke_main(void)"中引用(?invoke_main @@ YAHXZ)

这是我的脚本我不知道解决这个错误请帮帮我谢谢你

float angle = 15;
float x, y, z;               // for polygon rotate 

void display()
{

    glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT); // clear screen and depth buffer
    glLoadIdentity();

    glPushMatrix();

    glColor3f(1.0, 0.0, 0.0);

    glBegin(GL_POLYGON);


    glVertex2f(160.0, 360.0);
    glVertex2f(300.0, 360.0);
    glVertex2f(160.0, 480.0);
    glVertex2f(300.0, 480.0);

    glPushMatrix();

    glColor3f(0.0, 0.0, 0.0);
    glVertex2f(580.0, 200.0);
    glVertex2f(640.0, 200.0);
    glVertex2f(580.0, 480.0);
    glVertex2f(640.0, 480.0);

    glRotatef(angle, -1.0f, 0.0, 0.0);

    angle += 15.0f;






    glEnd();




    glutSwapBuffers(); // dounle buffering

}
LRESULT CALLBACK MainWindowProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
    switch (uMsg)
    {
    case WM_LBUTTONDOWN:
    {



    }break; …
Run Code Online (Sandbox Code Playgroud)

c++

6
推荐指数
4
解决办法
1万
查看次数

编写和读取无符号字符到二进制文件

我正在编写一个简单的程序,写入二进制文件,关闭它,然后读取刚刚写入的数据.我正在尝试编写一个无符号字符数组.我在阅读数据时遇到了一些问题.我不确定我是在写不正确的数据还是读错了.当我读取数据时,我得到的输出为:5 bytes对于读取的字节数,但我得到的输出与我写入文件的值不同.

FILE *binFile = fopen("sample","wb");

unsigned char data[5]={5,10,15,20,25};
fwrite(data,sizeof(unsigned char),sizeof(data),binFile);
fclose(binFile);

unsigned char data2[5];
binFile = fopen("sample","rb");
int s = fread(data2,1,sizeof(data),binFile);
fclose(binFile);
cout<<s<<" bytes\n";
for(int i=0; i<5;i++)
        cout<<data2[i]<<" ";
cout<<"\n";
Run Code Online (Sandbox Code Playgroud)

c c++ file-io fwrite fread

5
推荐指数
1
解决办法
5937
查看次数

Boost Spirit 中 &gt; 和 &gt;&gt; 之间的区别

我正在学习 Boost-Spirit,从这里和StackOverflow 的例子。

但是,我无法找到>>> “后跟”序列运算符之间的区别?

例如,这里的区别:-

        qi::phrase_parse(startIt
        , endIt
        , par_ob > ';' // par_ob >> ';' ??
        , qi::space
        , result
        );
Run Code Online (Sandbox Code Playgroud)

c++ boost-spirit

5
推荐指数
1
解决办法
617
查看次数

在 Python 和其他操作系统中加载和保存 C++ 火炬模型

我在 C++ 中有一个自定义的LSTMpytorch模型。训练后,我使用保存模型

torch::save(lstmNetwork, 'model.pt'); 
Run Code Online (Sandbox Code Playgroud)

其中lstmNetworkstd::shared_ptr<LSTMNetwork>;

class LSTMNetwork : public torch::nn::Module {
public:
  LSTMNetwork(const torch::nn::LSTMOptions &lstmOpts1,
            const torch::nn::LSTMOptions &lstmOpts2,
            const torch::nn::LinearOptions &linearOpts);
  ~LSTMNetwork();

  torch::Tensor forward(const torch::Tensor &x);

private:
  torch::nn::LSTM lstm1;
  torch::nn::LSTM lstm2;
  torch::nn::Linear linear;
};

LSTMNetwork::LSTMNetwork(const torch::nn::LSTMOptions &lstmOpts1,
                     const torch::nn::LSTMOptions &lstmOpts2,
                     const torch::nn::LinearOptions &linearOpts)
    : torch::nn::Module(),
      lstm1(register_module("lstm1", torch::nn::LSTM(lstmOpts1))),
      lstm2(register_module("lstm2", torch::nn::LSTM(lstmOpts2))),
      linear(register_module("linear", torch::nn::Linear(linearOpts))) {}

LSTMNetwork::~LSTMNetwork() {}

torch::Tensor LSTMNetwork::forward(const torch::Tensor &input) {
  torch::nn::RNNOutput lstm_out = this->lstm1->forward(input);
  lstm_out = this->lstm2->forward(lstm_out.output);
  torch::Tensor y_pred = this->linear(lstm_out.output[-1]);
  return …
Run Code Online (Sandbox Code Playgroud)

c++ python machine-learning torch pytorch

5
推荐指数
0
解决办法
1644
查看次数