小编ann*_*kaz的帖子

圆形和矩形之间的碰撞

我想检测圆形和矩形之间的碰撞,但不知道如何.

我知道如何使用毕达哥拉斯定理检测圆与圆之间的碰撞,这是:

(x2 - x1)^ 2 +(y2 - y1)^ 2 - (r2 + r1),但检测碰撞的算法是什么

在C或C++编程语言中的圆形和矩形之间.

c c++ math

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

int或vector的数组?

我试图存储一些每次都会改变的元素,但我不知道哪个

方式更好,为什么.我正在考虑两种方式,1)声明int和loop或者数组

使用矢量.

哪种方式更好,为什么?

声明int的数组是否有任何未来的memore问题作为泄漏?

下面的代码显示了我正在谈论的两种方式:

1)

#include <iostream>
#include <vector>


int main()
{

     int x[5];

     x[0] = 10;
     x[1] = 20;
     x[2] = 30;
     x[3] = 40;
     x[4] = 50;


for(unsigned int i = 0;i<=sizeof(x[5]); i++)
    {


     std:: cout << "x[" << i << "] = "<< x[i] << std::endl;

}

system("pause");

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

2)

#include <iostream>
#include <vector>


int main()
{

    std::vector<int> x;

    x.push_back(10);
    x.push_back(20);
    x.push_back(30);
    x.push_back(40);
    x.push_back(50);


for(unsigned int i = 0;i<=x.size()-1; i++)
    {


     std:: cout …
Run Code Online (Sandbox Code Playgroud)

c++

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

以c ++方式格式化文本

我正在尝试创建一个可以格式化我的文本输出的c ++函数,如下所示:

#0 id:80

#1 id:80

#2 id:80

#3 id:80

等等...

并在函数中有一个名为max的参数来限制输出量,例如:

如果max参数设置为10,则大多数打印/输出仅10次:

#0 id:80

#1 id:80

#2 id:80

#3 id:80

#4 id:80

#5 id:80

#6 id:80

#7 id:80

#8 id:80

#9 id:80

#10 id:80

我试图做的是下面的代码,但它不能按我的意愿工作:

void format_text(int max){

char Buffer[100];

static int amount;

for (int x = 0; x <= max; x++){

amount ++;

if (max > amount){

length += sprintf(Buffer+length,"#%d id: %d\n", amount, 80);

printf("%s", Buffer);

}
Run Code Online (Sandbox Code Playgroud)

请帮我制作一个我为你描述的功能

c++

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

无限值和缓冲区

我有一个记分板,可以随时获得更新信息,缓冲区大小=我的记分板可以处理的行数,但我试图使其无限制地无限.

我想要做的是as-sign无穷大值到这样的缓冲区:

 const int infinity = std::numeric_limits<const int>::infinity(); 

 char Buffer_format_text [infinity]; 
Run Code Online (Sandbox Code Playgroud)

但它不起作用,因为它说:

错误C2057:预期的常量表达式错误C2466:无法分配常量大小为0的数组

有没有办法做到这一点?还是骗术?, 请帮我.不要问我为什么要这样做,我问怎么做.

更新:

这是我用sprintf做的,你怎么在ostringstream?

char Buff[100]; 
int length  = 0;
int amount_of_space = 8;
length += sprintf(Buff+length,"%-*s %s\n", amount_of_space, "Test", "Hello");
Run Code Online (Sandbox Code Playgroud)

 

this output: Test     Hello
Run Code Online (Sandbox Code Playgroud)

c++

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

标签 统计

c++ ×4

c ×1

math ×1