小编Now*_*zki的帖子

我可以使用SFINAE在模板类中有选择地定义成员变量吗?

所以我想要做的是创建一个模板类,它可能包含或不包含基于传入的模板参数的成员变量.如下所示:

template<typename T, bool flag>
class base
{
   foov<std::enable_if<flag, T>::type> m_var;
};
Run Code Online (Sandbox Code Playgroud)

上面的代码无法在编译器中存活.

有谁知道我怎么能做到这一点?

c++ sfinae

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

`&amp;**self` 的类型是什么?

我正在阅读std::vec::Vec实现并遇到了这个:

Index::index(&**self, index)
Run Code Online (Sandbox Code Playgroud)

https://doc.rust-lang.org/src/alloc/vec.rs.html#1939

我知道那self是类型&Vec,因此*selfVec&**self在这种情况下是什么类型?

rust

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

如何使用opengl变换反馈,我总是在缓冲区中得到0

我试图使用变换反馈从顶点着色器中检索数据以进行调试,因为我的透视矩阵似乎计算错误.我在变换反馈缓冲区中什么都没有.任何人都可以帮我弄清楚我做错了哪一步?

以下是我设置转换反馈的代码片段:

//vertex to be passed into shader
const float vertexPos[] =
{
     0.75f, 0.75f, 0.0f, 1.0f,
     0.75f, -0.75f, 0.0f, 1.0f,
     -0.75f, -0.75f, 0.0f, 1.0f
};

//set up transform feedback
const char *variableName = "retrieve";//the variable to be retreived in shader
float dateFromShader[16];//receive the data from shader
GLuint tf_bo;//transform feedback buffer id

glTransformFeedbackVaryings(shaderProgram, 1, &variableName, GL_INTERLEAVED_ATTRIBS);
glLinkProgram(shaderProgram);

glGenBuffers(1, &tf_bo);
glBindBuffer(GL_TRANSFORM_FEEDBACK_BUFFER, tf_bo);// Is this necessary to call glBindBuffer before glBindBufferBase?
     glBindBufferBase(GL_TRANSFORM_FEEDBACK_BUFFER, 0, tf_bo);
     glBufferDate(GL_TRANSFORM_FEEDBACK_BUFFER, sizeof(float) * 16, NULL, GL_DYNAMIC_COPY);
glBindBuffer(GL_TRANSFORM_FEEDBACK_BUFFER, 0); …
Run Code Online (Sandbox Code Playgroud)

opengl

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

在 Windows 上 ssh-add 之后 git 不断要求输入密码

我在 Windows 上的 PowerShell 中使用 git。我确保ssh-agent正在运行,并且ssh-add有我的私钥。

$ Get-Service ssh-agent

Status   Name               DisplayName
------   ----               -----------
Running  ssh-agent          OpenSSH Authentication Agent

$ ssh-add -l
256 SHA256:2MDH36ZZcM1uf9wQ2tsMj4NROkiGeKUD+CwBsVXrKXY xxxxxxxxxx@gmail.com (ED25519)
Run Code Online (Sandbox Code Playgroud)

但 git 每次仍然要求输入密码。我尝试通过设置进行调试GIT_SSH_COMMAND="ssh -vvv",但无法理解出了什么问题。下面是我运行时的详细输出git push

$ git push
OpenSSH_8.5p1, OpenSSL 1.1.1k  25 Mar 2021
debug1: Reading configuration data /etc/ssh/ssh_config
debug3: expanded UserKnownHostsFile '~/.ssh/known_hosts' -> '/c/Users/username/.ssh/known_hosts'
debug3: expanded UserKnownHostsFile '~/.ssh/known_hosts2' -> '/c/Users/username/.ssh/known_hosts2'
debug2: resolving "github.com" port 22
debug3: ssh_connect_direct: entering
debug1: Connecting to github.com [140.82.114.4] port …
Run Code Online (Sandbox Code Playgroud)

windows git ssh openssh

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

IEEE 754中规定的浮点计算结果是否包含无穷大和NaN?

例如,使用Visual Studio 2017,我得到了以下结果

inf + inf评估为inf

inf +( - inf)评估为-nan(ind)

浮点计算的结果是否涉及IEEE 754中规定的无穷大和NaN,还是编译器依赖的?

floating-point ieee-754

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

调用析构函数?

这是我的示例代码

    class king
{
public:
    king(int q)
        :queen(q)
    {
    }

    ~king()
    {
        cout << "king's destructor." << endl;
    }

    void operator= (const king &k)
    {
        cout << "king's copy constructor." << endl;
        queen = k.queen;
    }

private:
    int queen;
};

void refFunc0(king &k)
{
    king &kk = k;
}

void refFunc1(king &k)
{
    king kk = k;
}

void main()
{
    int qqq0 = 55;

    king kkk0(qqq0);
    refFunc0(kkk0);

    cout << qqq0 << endl;

    int qqq1 = 66;
    king kkk1(qqq1);
    refFunc1(kkk1); …
Run Code Online (Sandbox Code Playgroud)

c++

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

标签 统计

c++ ×2

floating-point ×1

git ×1

ieee-754 ×1

opengl ×1

openssh ×1

rust ×1

sfinae ×1

ssh ×1

windows ×1