小编Ank*_*wah的帖子

构造函数初始化列表不是调用复制构造函数

所以我学习了构造函数初始化列表,并编写了以下代码:

class Mango
{
  public:

  Mango(){cout<<"Mango::ctor()";}
  Mango(const Mango& other){cout<<"Mango::copy_ctor()";}
};

class Box
{
    public:

    Box() : mango(Mango()) //**doesn't call copy constructor**
    {
    }

    Mango mango;
};

int main()
{
  Box box; 

   return 0;
}
Run Code Online (Sandbox Code Playgroud)

我为此使用了g ++编译器.它调用构造函数而不是复制构造函数.它应该调用复制构造函数,因为我正在创建一个对象来创建另一个对象?这里有什么问题,标准说了什么?

c++ constructor initialization language-lawyer copy-elision

15
推荐指数
1
解决办法
756
查看次数

Heroku 找不到 ts-node

我在多人游戏中使用Colyseus。该框架生成了一个打字稿服务器,我试图将其部署到 Heroku。我在日志中收到以下错误:

2019-08-18T09:45:55.362304+00:00 app[web.1]: npm ERR! syscall spawn
2019-08-18T09:45:55.363375+00:00 app[web.1]: npm ERR! my-app@1.0.0 start: `ts-node index.ts`
2019-08-18T09:45:55.363477+00:00 app[web.1]: npm ERR! spawn ENOENT
2019-08-18T09:45:55.363677+00:00 app[web.1]: npm ERR! 
2019-08-18T09:45:55.363800+00:00 app[web.1]: npm ERR! Failed at the my-app@1.0.0 start script.
2019-08-18T09:45:55.363912+00:00 app[web.1]: npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
2019-08-18T09:45:55.373038+00:00 app[web.1]: 
2019-08-18T09:45:55.373380+00:00 app[web.1]: npm ERR! A complete log of this run can be found in:
2019-08-18T09:45:55.373520+00:00 app[web.1]: npm ERR!     /app/.npm/_logs/2019-08-18T09_45_55_365Z-debug.log
Run Code Online (Sandbox Code Playgroud)

我的package.json …

heroku typescript

3
推荐指数
1
解决办法
1453
查看次数

如何使用位操作在单个整数中编码和解码两个数字?

我正在学习有点操作然后我想到了这一点.假设我有两个数字,第一个在[1,6]的范围内,第二个在[0,3]的范围内.现在第一个数字可以存储最多3个比特,第二个数字可以存储2个比特.我如何使用一个int32将它们都存储在其中.谢谢.

c++ bits bitset

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

C++中命名空间中的内联函数

我正在写一个矩阵库.我将我的类放在命名空间SLMath中.但由于内联函数我得到错误.

这些是我的文件..

Mat4.hpp

#ifndef INC_SLMATH_MAT4_H
#define INC_SLMATH_MAT4_H


#include<cstdint>
#include<algorithm>

namespace SLMath
{
    class Mat4
    {
        typedef std::uint8_t uint8; // You know that Its tedious to write          std::uint8_t everytime
        float matrix[16];
        inline int index(uint8 row,uint8 col) const;

    public:

        //Constructors
        Mat4();
        Mat4(const Mat4 &other);

        //Destructor
        ~Mat4();

    //operators
    void operator=(const Mat4 &other);

    //loads the identity matrix
    void reset();

    //returns the element in the given index
    inline float operator()(uint8 row,uint8 col) const;

    //returns the matrix array
    inline const float* const valuePtr();

};
}


#endif …
Run Code Online (Sandbox Code Playgroud)

c++ linker namespaces function

0
推荐指数
1
解决办法
1933
查看次数