小编jma*_*erx的帖子

将所有{移动到功能名称的右侧?

我正在合并一些代码,这段代码的功能都是这样的:

void someFunction()
{

}
Run Code Online (Sandbox Code Playgroud)

虽然我们所有的代码都需要:

   void someFunction() {

    }
Run Code Online (Sandbox Code Playgroud)

我想知道是否有办法找到并替换,以便立即改变一切.这会节省我几个小时的工作.

我正在使用VS 2008.

谢谢

c++ visual-studio-2008 visual-studio

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

计算任意大数的类?

我想知道是否有一个类可以提供与内存一样多的准确性.使用重载运算符来对其进行算术运算,就像它是正常数字一样.

例如:

BigNumber num;

num = 8;
for(int i = 0; i < 5000000; ++i)
{
   num *= num;
}
Run Code Online (Sandbox Code Playgroud)

谢谢

c++

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

std :: strings是否适合随机插入/随机擦除?

我想用std :: strings制作一个简单的文本编辑器.如果我的文本是500,000个字符,并且我想在第253,000个字符处插入或删除,这会很慢,还是会像我的文本包含10个字符一样快?否则我不确定我会做些什么来解决它(除非我使用链接列表然后阅读速度很慢,这有点重新发明轮子.

谢谢

c++ string

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

for循环给出的结果与+ =不同

我真的不明白这里发生了什么但是:

当我做:

colorIndex += len - stopPos;
for(int m = 0; m < len - stopPos; m++)
{
    colorUniPos++;
}
Run Code Online (Sandbox Code Playgroud)

它没有给我与做的相同的结果:

colorIndex += len - stopPos;
colorUniPos += len - stopPos;
Run Code Online (Sandbox Code Playgroud)

我认为它会因某种原因而消失.这两个都不应该获得相同的结果吗?

谢谢

c++

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

使用atan2在用鼠标拖动时旋转图像

我正在研究一个骨骼动画编辑器.现在,每个骨骼都有一个起点和终点,当鼠标位于一个点之下时,随后的拖动将导致骨骼根据鼠标的位置旋转.为此,我调用atan2并将鼠标坐标转换为本地空间,其中本地是鼠标按下的位置.虽然这"有效",但感觉确实是错误的.由骨形成的矢量不一定平行于鼠标点,它应该是.

我觉得atan2有些东西我不明白.

:

    if(boneUnderMouse)
    {
        boneUnderMouse->setAngle(startAngle + 
       (atan2((float)event.mouse.x - startX,event.mouse.y   - startY)));
    }
Run Code Online (Sandbox Code Playgroud)

谢谢

c++ math atan2

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

在这种情况下会发生什么?

假设我有基类A.它有方法

void foo(A* a);
Run Code Online (Sandbox Code Playgroud)

它也有方法

void foo(B* b);
Run Code Online (Sandbox Code Playgroud)

B继承自A.

说我现在有一个B实例,但它是一个A*ex:

A* a = new B();
Run Code Online (Sandbox Code Playgroud)

如果我打电话

 someA.foo(a);
Run Code Online (Sandbox Code Playgroud)

这会调用方法的A*实现还是B*实现?

我正在为方法提供A*,但实际上该对象是B().

谢谢

c++

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

有效地将向量的底部四分之一移到顶部?

给定一个包含100个元素的向量,我想将元素75到100移动到前面,这样75就是数组[0],76是数组[1],1是数组[25].

谢谢

c++ vector

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

std :: list的[]运算符?

我处于无法使用a的情况,vector因为我使用&element[x]然后添加更多项目,因此指针无效.问题是std::list似乎没有超载operator []也没有提供at()方法.因此,我看到我可以模拟的唯一方法at()是使用迭代器.有没有更好的方法来做到这一点?

c++ list operator-overloading

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

洗牌很好的RNG

现在我正在使用Mersenne Twister RNG并执行Fisher-Yates shuffle算法100次:

    std::vector<Card> shufCards;
    for(int i = 0; i < 4; ++i)
    {
        for(int j = 0; j < 13; ++j)
        {

            shufCards.push_back(Card((Card::SuitEnum)i,(Card::RankEnum)j));
        }
    }
    for(int r = 0; r < 100; ++r)
    for(int i = shufCards.size() - 1; i >= 1; i--)
    {
        int j = m_randomGenerator.genrand_int31() % (i + 1);
        std::swap(shufCards[i],shufCards[j]);
    }

    std::vector<Card> cards;
    for(int i = 0; i < zeroBasedCut; ++i)
    {
        cards.push_back(shufCards[i]);
    }

    for(int i = zeroBasedCut; i < 52; ++i)
    {
        cards.push_back(shufCards[i]);
    } …
Run Code Online (Sandbox Code Playgroud)

c++ random

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

SQLite和C++入门?

对于我正在制作的在线游戏,我需要能够将用户及其统计数据添加到数据库,示例表:

用户名,密码,电子邮件,胜利,失败

用户名将是唯一键,从那里我需要检索其他信息.

我还需要做其他事情,比如找到给定电子邮件的所有用户名.

我一直在寻找几个小时的SQLite教程,该教程展示了如何完成这些简单任务的C或C++.

任何人都可以推荐这样的教程,或者可能对使用SQLite库执行上述某些任务有所了解吗?

谢谢

c c++ sqlite

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