小编Che*_*Cat的帖子

Bash:列出文件的不同前缀

假设我们有一系列文件,列出为:

T001_000.txt
T001_001.txt
T001_002.txt
T005_000.txt
T005_001.txt
T012_000.txt
...
T100_000.txt
Run Code Online (Sandbox Code Playgroud)

我们想要合并具有相同 T 的文件???字首。例如,我们想要对每个带有 T001 前缀的文件执行以下操作:

merge T001_*.txt > newT001.txt #i just made up this function
Run Code Online (Sandbox Code Playgroud)

如何从 bash 列表中获取不同的前缀?

regex bash

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

C++:如何从定义的容器对象中获取迭代器类型

我有一个代码在一个表单中:

unordered_set<pair<int,int>,CustomHash> Edges;
typedef unordered_set<pair<int,int>,CustomHash>::iterator EdgesIt;
...
for(auto it=Edges.begin();it!=Edges.end();it++){
    list<EdgesIt> List;
}
Run Code Online (Sandbox Code Playgroud)

我如何避免定义要在List声明中使用的新类型EdgesIt并以更智能的方式获取它,例如:

list<Edges::iterator_type> List;
Run Code Online (Sandbox Code Playgroud)

InteliSense仅建议将Edges::iterator其定义为typedef std::iterator pair<int,int> iterator.更多的说,它不起作用.我也试过用unordered_set::iterator,但它也行不通.

c++ containers templates iterator typedef

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

C++:通过另一个类的方法更改类的值 - bug?

我有奇怪的事情,据我的经验,我可以在C++中调用bug.当我打电话给这个节目时:

#include <iostream>
using namespace std;

class foo {
public:
    int a;
    foo(int a = 0) : a(a) {}
} a1;

class bar {
    foo a;
public:
    bar(foo a = a1) : a(a) {
        a.a = 1;
        cout << a.a << endl;
    }
    void print_a() {
        cout << a.a << endl;
    }
};

int main() {
    bar zz;
    zz.print_a();
    a1.a = 2;
    bar zz1;
    zz1.print_a();
}
Run Code Online (Sandbox Code Playgroud)

输出是:

1
0
1
2
Run Code Online (Sandbox Code Playgroud)

我也希望能够改变我的类的内部成员的价值观,就像一个对象的值FOO类内部酒吧类.当我在bar构造函数中更改 …

c++

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

标签 统计

c++ ×2

bash ×1

containers ×1

iterator ×1

regex ×1

templates ×1

typedef ×1