小编use*_*821的帖子

我如何使用iomanip的setw,setfill和left/right?Setfill没有停止输出

我试图让我的输出看起来像这样:

size       time1       time2
-------------------------------
10         4           8
100        48          16
1000       2937        922
10000      123011      3902
100000     22407380    830722
Run Code Online (Sandbox Code Playgroud)

我知道我需要使用setw(),setfill()left.但是,我的尝试一直给我不正确的输出.这是我的代码的一个例子:

std::cout << "size" << std::setw(20) << "time" << std::setw(20) << "time2\n";
std::cout << std::setfill('-') << std::setw(60) << "-" << std::endl;
run = 10;
for(int i = 0; i < 5; i++) {
    std::cout << run;
    run *= 10;
    std::cout << std::setw(20) << std::left << time1[i];
    std::cout << std::setw(20) << std::left << time2[i] << …
Run Code Online (Sandbox Code Playgroud)

c++ setw iomanip

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

在Javascript中交换整个数组

当我尝试使函数交换2个数组时,原始数组保持不变.

function swap(x, y) {
    var temp = x; x = y; y = temp;
}

u=[1, 0];
v=[0, 1];
swap(u, v);
console.log(u);
console.log(v);
Run Code Online (Sandbox Code Playgroud)

这导致u为[1,0],v为[0,1].函数调用swap后,值没有更改.

另一方面,如果我在没有函数调用的情况下执行此操作:

u=[1, 0];
v=[0, 1];
var temp = u;
u = v;
v = temp;
console.log(u);
console.log(v);
Run Code Online (Sandbox Code Playgroud)

然后它们被正确交换,u为[0,1],v为[1,0].

我认为Javascript数组是通过引用传递的,而不是通过值传递的.我在这里误解了什么吗?

javascript arrays pass-by-reference pass-by-value

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