小编Dan*_*iel的帖子

const func(const scalar&a)const中的三个"const",为什么?

新手在这里!

我正在阅读代码,我看到作者经常写成员函数

const int func (const scalar& a) const
// etc
Run Code Online (Sandbox Code Playgroud)

你看到这里有三个const,现在我理解中间的一个,const scalar&a,它的目的是不改变对象a,但是另外两个const呢?

这是一个好习惯,我应该一直这样做,以保护blahblah不变吗?

非常感谢!

c++

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

为什么这里不允许将矢量附加到另一个矢量?

我使用方法(c ++)将向量追加到另一个向量:

a.insert(a.end(), b.begin(), b.end());
Run Code Online (Sandbox Code Playgroud)

它可以工作,但如果b从成员函数获得,那么它将不再起作用,比如说

vector<point> const line::returnAVectorOfPoints() const
{
    vector<point> pts;
    // Do something
    return pts;
}
Run Code Online (Sandbox Code Playgroud)

然后这次,当我尝试(像这样)

a.insert(a.end(), returnAVectorOfPoints().begin(), returnAVectorOfPoints().end());
Run Code Online (Sandbox Code Playgroud)

我有一个segv.任何想法在这里出了什么问题?

c++ vector

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

将两个空白行合并为一个

我正在寻找将文件A转换为文件B的解决方案,这需要将两个空白行合并为一个。

文件A:

// Comment 1
// Comment 2

// Comment 3


// Comment 4



// Comment 5
Run Code Online (Sandbox Code Playgroud)

文件B:

// Comment 1
// Comment 2

// Comment 3

// Comment 4

// Comment 5
Run Code Online (Sandbox Code Playgroud)

这篇文章中,我知道如何删除空行,我想知道如何将两个连续的空行合并为一个。

PS:空白表示它可能为空,或者该行中可能有制表符或空格。

bash sed

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

mvapich会比openmpi好得多吗?如何?

我是计算流体动力学家(CFD),但我不太了解mpi.

由于重型CFD工作需要Infiniband支持,人们说mvapich通常比其他mpi实现要好得多.我想知道这是真的吗?任何人都有我可以看到的真实经验和参考资料吗?为什么mvapich比openmpi等更好?它是由Infiniband公司写的还是什么?

非常感谢!

mpi

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

如何知道 vim 中使用的是哪种语法高亮?

这里是新手。我用VIM打开了一个没有任何扩展名的文件,它的语法被突出显示。我想知道哪个命令可以显示正在使用哪种语法突出显示?即,这是 C++ 突出显示还是 C 突出显示......?

vi

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

“安全”地获取从底部开始的第 n 行

给定一个文件:

dept4.abc.edu
dept3.abc.edu
dept2.abc.edu
dept1.abc.edu
Run Code Online (Sandbox Code Playgroud)

我知道如何使用以下命令获取从底部开始的第三行:

tail -3 file | head -1
Run Code Online (Sandbox Code Playgroud)

只要文件长度大于或等于 3 行就可以[ $(wc -l < file) -gt 3 ]。所以tail -4 file | head -1仍然很好,但tail -5 file | head -1不是我真正想要的。

我想知道是否有更好的方法和更干净的方法来安全地获取第 n 行,安全地说,我的意思是如果它不存在,只需返回一个空字符串或错误。有任何想法吗?

bash shell tail head

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

可以在main中返回向量吗

我想知道是否可以返回一个向量main()?例如,

aSpecialVectorType main()
{
    aSpecialVectorType xxx(vector::zero);
    // do something here;
    return xxx;
}
Run Code Online (Sandbox Code Playgroud)

我是否需要转发申报" class aSpecialVectorType;之前" main()

顺便说一句,main在c ++中使用" " 以外的其他名称是否合法?

谢谢

EDIT1:

如果没有,它输出矢量的最佳方式是什么?

我的朋友让我给他一个黑盒子,可以作为"矢量输入和矢量输出",他将使用他的matlab代码来调用我的代码.这就是我要问的原因.我知道如何向量,但不确定是否有一种简单的方法来输出向量.

谢谢

EDIT2:

我很惊讶为什么C++有这样一个标准,任何解释?:)

c++

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

如果数组很大,使用指针作为c ++类成员是一种更有效的方法吗?

以下是有关指针的几个问题.

class object
{
private:
    vector<point> points_;
}
Run Code Online (Sandbox Code Playgroud)

假设我正在上面写一个班级,如果我有很多积分,一个长阵,你会建议什么?我应该使用vector<point> points_vector<point>* points_

使用指针对c ++代码更有效,所以我应该尽可能地使用它?注意:我需要最终的程序尽可能快.

有经验的程序员总是喜欢使用指针吗?如果效率不是问题,或者不是我关心的问题,我发现不使用指针对我来说更清楚,而且我发现使用指针总是有很多终身问题.谢谢

c++ pointers

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

是否可以使用"ctrl + /"在vim中注释/取消注释一行

新手在这里.我正在寻找一种更简单的方法VIM来评论/取消注释(只有一行评论,这是最常见的评论类型)C++代码只使用一个快捷键,如Ctrl+ /(不进入可视模式).是否可以通过映射而不使用第三方插件(例如书呆子)来实现此效果?谢谢

vim

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

如何在vim中打破线条?

我有两个问题,寻找一些插件或可以:

  1. 键入时会自动断行?
  2. 之后打破线?

说,我总是希望它在80处被打破.无论是对齐还是对齐左边都没问题.

vi vim

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

标签 统计

c++ ×4

bash ×2

vi ×2

vim ×2

head ×1

mpi ×1

pointers ×1

sed ×1

shell ×1

tail ×1

vector ×1