小编Bug*_*tGG的帖子

C++通过引用传递数组

这是允许通过引用传递数组?

 void foo(double& *bar) 
Run Code Online (Sandbox Code Playgroud)

似乎我的编译器说没有.为什么?通过引用传递数组的正确方法是什么?还是一个解决方法?我有一个数组参数,我的方法应该修改,然后我应该检索.或者,我可以使这个数组成为一个类成员,它工作正常,但它对我的代码的其他部分有很多缺点(我想避免).

感谢致敬.

c++ arrays pointers reference pass-by-reference

62
推荐指数
4
解决办法
13万
查看次数

数组结构与CUDA中的结构数组

从我在这里读到的一些评论中,出于某种原因,对于像CUDA这样的并行实现,最好有Structure of Arrays(SoA)over Array of Structures(AoS)吗?如果这是真的,谁能解释为什么?提前致谢!

c c++ arrays struct cuda

41
推荐指数
2
解决办法
3万
查看次数

在C中使用printf的彩色文本

我想知道如何在控制台中打印出彩色文字?我使用eclipse win64 os.它与编译器有关吗?任何人都可以在C中给出一个简单的例子,只有一个红色或任何颜色的hello世界文本?

c windows printf colors

15
推荐指数
3
解决办法
3万
查看次数

fprintf和ctime没有从ctime传递\n

我在文本文件中插入时间有问题.我使用下面的代码,我得到|21,43,1,3,10,5| Wed Feb 01 20:42:32 2012哪些是正常的,但我想要做的是把数字之前的时间放在例如像,Wed Feb 01 20:42:32 2012 |21,43,1,3,10,5|但是,我不能这样做因为当我使用fprintf与ctimef函数之前fprintf它识别的数字\n在ctime内,因此它更改第1行然后打印数字.它像:

    Wed Feb 01 20:42:32 2012
    |21,43,1,3,10,5|
Run Code Online (Sandbox Code Playgroud)

这是我不想要的东西......我如何能够在没有切换到文本中的下一行的情况下缩短时间?提前致谢!

fprintf(file,"   |");
    for (i=0;i<6;i++)
    {
        buffer[i]=(lucky_number=rand()%49+1);       //range 1-49
        for (j=0;j<i;j++)                           
        {
            if (buffer[j]==lucky_number)
                i--;
        }
        itoa (buffer[i],draw_No,10);
        fprintf(file,"%s",draw_No);
        if (i!=5)
            fprintf(file,",");
    }
    fprintf(file,"|     %s",ctime(&t));
Run Code Online (Sandbox Code Playgroud)

c printf file ctime text-files

15
推荐指数
5
解决办法
2万
查看次数

了解重载的operator []示例

我对在c ++测试中看到的问题感到困惑.代码在这里:

#include <iostream>
using namespace std;

class Int {
public:
    int v;
    Int(int a) { v = a; }
    Int &operator[](int x) {
        v+=x;
        return *this;
    }
};
ostream &operator<< (ostream &o, Int &a) {
    return o << a.v;
}

int main() {
    Int i = 2;
    cout << i[0] << i[2]; //why does it print 44 ?
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我确信这会打印,24但它会打印出来44.我真的希望有人澄清一下.这是累积评估吗?也是<< 二进制中缀

提前致谢

编辑:如果没有明确定义的运算符重载,有人可以在这里更好地实现重载运算符,以便打印24

c++ overloading operator-overloading binary-operators operators

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

如何在VHDL中声明具有多个零的输出

您好我正在尝试找到替换此命令的方法:Bus_S <= "0000000000000000000000000000000" & Ne;使用更方便的东西.逐个计数零并不是很复杂.该程序是针对ALU的SLT SLT单元.SLT仅获得1位(ADDSU32的MSB)并且具有全为零的32位输出,但第一位取决于ADDSU32的Ne = MSB.(暂时忽略ALUop)

entity SLT_32x is
   Port ( Ne : in  STD_LOGIC;
         ALUop : in STD_LOGIC_VECTOR (1 downto 0);
         Bus_S : out  STD_LOGIC_VECTOR (31 downto 0));
end SLT_32x;

architecture Behavioral of SLT_32x is
begin
  Bus_S <= "0000000000000000000000000000000" & Ne; 
end Behavioral;
Run Code Online (Sandbox Code Playgroud)

有没有办法使用(30 downto 0)='0'或类似的东西?谢谢.

vhdl

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

如何证明参数评估在Python中"从左到右"?

例如,在JavaScript中我们可以编写这样的程序:

var a = 1;
testFunction(++a, ++a, a);
function testFunction(x, y, z){
      document.writeln("<br />x = " + x);
      document.writeln("<br />y = " + y);
      document.writeln("<br />z = " + z);
}
Run Code Online (Sandbox Code Playgroud)

我们会得到一个输出:

x = 2
y = 3
z = 3
Run Code Online (Sandbox Code Playgroud)

这意味着在JavaScript中从左到右真正地评估参数.在C中我们会得到输出

x = 3
y = 3
z = 3
Run Code Online (Sandbox Code Playgroud)

我想知道我们是否可以在Python中做同样的事情,或者它是不可能的,因为它是价值参考语言的传递?

我做了一个简单的程序,但我不认为这证明了什么:

x = 2
def f(x, y, z):
    print(x, y, z)

f(x*2, x*2, x**2)
print(x)
Run Code Online (Sandbox Code Playgroud)
4 4 4
2
Run Code Online (Sandbox Code Playgroud)

当我调用它时,Python不会让我在函数参数中做任何新的赋值(例如f(x=4, x, x)或类似的东西).

python parameter-passing operator-precedence

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

类模板和函数模板之间的区别

我想知道类模板和函数模板之间的区别,我应该在哪里使用它们.

c++ templates

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

在CUDA中float1 vs float

我注意到float1cuda 中有一个结构类型.是否有任何性能优势超过简单float,例如,在使用float arrayvs float1 array

struct __device_builtin__ float1
{
    float x;
};
Run Code Online (Sandbox Code Playgroud)

float4有性能优势,根据场合,由于取向是4x4bytes = 16字节.它只是用于__device__float1参数的函数的特殊用途吗?

提前致谢.

c c++ cuda

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

在Visual Studio 2010中对源代码管理中的更改集添加注释

我将Visual Studio 2010与Team Foundation Server 2010和Power Tools结合使用.

在我的代码文件中,(eg. \*.cs)我可以在编辑器中右键单击并选择Source Control"->"Annotate获取我可以看到的其他列,他们最后修改了这些行.这似乎不适用于我的MVC-Views (\*.cshtml).

电动工具的扩展/功能中是否存在文件类型的限制?

如何在Visual Studio中为所有基于文本的文件类型启用此非常有用的功能?

version-control visual-studio-2010 tfs2010 tfs-power-tools

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