小编sac*_*ine的帖子

go tour何时不在变量中使用指向struct literal的指针

按照围棋游览第28 第53页

它们显示一个变量,它是指向struct literal的指针.为什么这不是默认行为?我不熟悉C,所以我很难绕过它.我唯一能看到使用指针时更有利的时候是struct literal是唯一的,并且不会用于其余的程序,所以你希望它尽快被垃圾收集.我甚至不确定像Go这样的现代语言是否能以这种方式运作.

我的问题是这个.我应该何时将指向结构文字的指针分配给变量,何时应该分配结构文字本身?

谢谢.

pointers go

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

将多个剪切命令组合到一个剪切命令中的变量分配中

鉴于shell脚本中先前定义的$ LINE,我执行以下操作

var1=$(echo $LINE | cut -d, -f4)
var2=$(echo $LINE | cut -d, -f5)
var3=$(echo $LINE | cut -d, -f6)
Run Code Online (Sandbox Code Playgroud)

我有什么方法可以将它组合成一个命令,其中切割仅运行一次?就像是

var1,var2,var3=$(echo $LINE | cut -d, -f4,5,6)
Run Code Online (Sandbox Code Playgroud)

bash shell

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

使用lambda错误进行C++排序

我正在尝试使用lambda对数组进行排序,以在比较函数中使用另一个数组.在一个更大的函数里面,我有这个代码:

std::sort(arr.begin(), arr.end(),[] (int& a, int& b)
{       
    return (*i)[a] < (*i)[b];
});   
Run Code Online (Sandbox Code Playgroud)

我在contains函数中遇到以下错误:

mcmc.cpp:139: error: expected primary-expression before ‘[’ token
mcmc.cpp:139: error: expected primary-expression before ‘]’ token
mcmc.cpp:139: error: expected primary-expression before ‘int’
mcmc.cpp:139: error: expected primary-expression before ‘int’
Run Code Online (Sandbox Code Playgroud)

在编译时,我也包括-std = c ++ 0x选项.

我对发生的事感到困惑.出于某种原因,它似乎没有将我的语法识别为有效.为了以防万一,我做了一个yum更新,但它似乎仍然没有认识到使用lambdas.

c++ lambda

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

标签 统计

bash ×1

c++ ×1

go ×1

lambda ×1

pointers ×1

shell ×1