小编sky*_*ack的帖子

静态成员初始化和可变参数模板

通过查看以下代码,我们注意到初始化名为的静态数据成员非常容易cnt:

template<typename T> struct Base { static int cnt; };
template<typename T> int Base<T>::cnt = 0;
int main() { }
Run Code Online (Sandbox Code Playgroud)

无论如何,我正在与variadic_template静态数据成员斗争,因为我无法用它们来制作它.请考虑以下代码:

template<typename...> struct Base;
template<> struct Base<> { static int cnt; };
int main() { }
Run Code Online (Sandbox Code Playgroud)

首先,我尝试了最明显的事情,至少是对我来说最明显的事情:

template<typename... T> int Base<T...>::cnt = 0;
Run Code Online (Sandbox Code Playgroud)

它回来了error: template definition of non-template ‘int Base<T>::cnt’,我立刻意识到我的尝试确实没有意义.那就是说,之后我有点疑惑,因为对我来说这是不对的,这是正确的语法.

我尝试了以下方法:

template<> int Base<>::cnt = 0;
// ... and ...
template<> int Base::cnt = 0;
Run Code Online (Sandbox Code Playgroud)

随着错误error: template definition of non-template ‘unsigned int Base<T>::cnt’ …

c++ templates static-members static-initialization c++11

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

c ++中类型和类之间的区别?

我注意到我们家没有这个简单的问题,所以我会发布它.

一种说类型是内置类型,如int,long,char等,而class是用户定义的类.
这样对吗?

c++ class

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

这句话"auto iter = first"发生了什么

这句话发生了什么:

auto iter = first;
Run Code Online (Sandbox Code Playgroud)

为什么iter++可以很好地工作,因为大家都知道,firstconst&,

template<typename iteratorT, typename valueT>
iteratorT find(const iteratorT& first, const iteratorT& last,const valueT& value)
{
    auto iter = first;
    while(iter != last && *iter != value) iter++;
    return iter;
}
Run Code Online (Sandbox Code Playgroud)

为什么?

c++ iterator const auto

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

设计模式,对象的矢量,两种可能的类型

我需要在向量中存储两种类型的对象,这两种类型几乎没有任何共同之处.

将它们存储在向量中之后,我想迭代该向量并执行操作,具体取决于类型.

到目前为止我的想法:

  • 多态性.矫枉过正,对我帮助不大,因为我可能会这样做:

    if(dynamic_cast<T1>() != nullptr) {
        ...
    } else {
       ...
    }
    
    Run Code Online (Sandbox Code Playgroud)
  • 合并两种类型(方法和字段)并添加一个布尔值,表示其类型1或2.

这两种模式对我来说都显得十分笨拙,有一个完全简单的解决方案,我根本就看不到.

第一种类型是这样的:

struct PatternMatch {
  int length;
  int indexInDict;
}
Run Code Online (Sandbox Code Playgroud)

第二个:

struct NoMatch {
  std::string rawChars;
}
Run Code Online (Sandbox Code Playgroud)

c++ polymorphism design-patterns vector

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

typedef struct出错

以下代码会导致多个错误

typedef struct
{
    char name[20];
    int vertices_qty;
    int polygons_qty;
    Vector3D vertex[MAX_VERTICES];
    Triangle polygon[MAX_POLYGONS];
    TexCoord mapcoord[MAX_VERTICES];
    int id_texture;
    obj_type, *obj_type_ptr;
}
Run Code Online (Sandbox Code Playgroud)

特别是最后一行:

obj_type, *obj_type_ptr;
Run Code Online (Sandbox Code Playgroud)

当我obj_type用鼠标悬停时,它显示:

此声明没有存储类或类型说明符

还有一个警告:

未标记的'struct'声明,没有符号

所有的这是一个内commons.h定义几个stucts如头文件vector2d,vector3d,material,等等等等为一个程序,使用OpenGL

我需要做些什么才能使错误消失?

c++ struct typedef

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

没有 - 除非没有通过论证

你能说我怎么断言,是函数noexcept(没有传递参数)?谢谢.

c++ noexcept c++11

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

试图用另一个带有struct的函数调用一个函数

我有一个巨大的问题,我试图建立一些代码,我从另一个函数调用我的函数与结构在其中,但我不知道我是否已经混淆了自己,但我现在很丢失所以我会感谢som的帮助.基本上我试图做的是生成1到4之间的随机数,从那里我做了一些if语句,在if语句中我调用了我的函数.但是,它不能很好地工作. 它是最后一段错误的代码.功能"randomize()"

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

#define DIAMONDS 0
#define CLUBS 1
#define HEARTS 2
#define SPADES 3
#define JACK 11
#define QUEEN 12
#define KING 13
#define ACE 1
#define COLOR_SIZE 13
#define NR_OF_SUITS 4
#define DECK_SIZE 52

int random_card;

struct Card
{
    int suit;
    int value;
};

void diamonds(struct Card *cardDeck);
void spades(struct Card *cardDeck);
void clubs(struct Card *cardDeck);
void hearts(struct Card *cardDeck);
void swapCards(struct Card *cardA, struct Card *cardB);
void shuffleCards(struct Card *cardDeck);
void randomize(); …
Run Code Online (Sandbox Code Playgroud)

c function

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

在这个例子中为什么我需要CRTP?

请参阅此处的对象计数器示例:为什么它不会从非模板继承.为什么反击应该是模板?class counter

template <typename T>
struct counter
Run Code Online (Sandbox Code Playgroud)

c++ crtp c++11

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

Node.js“未定义res”

我添加什么 Javascript 来定义 res?谢谢!

错误信息:

参考错误:未定义 res

代码:

app.get('/', function(request, response) {
    res.sendFile(path.join(__dirname, '/public', 'index.html'));
})
Run Code Online (Sandbox Code Playgroud)

javascript node.js

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