我想在map<string, int>不知道任何string-int值或键的情况下遍历每个元素.
到目前为止我所拥有的:
void output(map<string, int> table)
{
map<string, int>::iterator it;
for (it = table.begin(); it != table.end(); it++)
{
//How do I access each element?
}
}
Run Code Online (Sandbox Code Playgroud) 首先,你可能知道const可以用来制作一个对象的数据或一个不可修改的指针或两者兼而有之.
const Object* obj; // can't change data
Object* const obj; // can't change pointer
const Object* const obj; // can't change data or pointer
Run Code Online (Sandbox Code Playgroud)
但是您也可以使用以下语法:
Object const *obj; // same as const Object* obj;
Run Code Online (Sandbox Code Playgroud)
唯一重要的是你把const关键字放在星号的哪一边.我个人更喜欢把const上式的左边指定它的数据是不可修改的,因为我觉得它读取我的左到右的心态更好,但其语法是先?
更重要的是,为什么有两种正确的const数据指定方式,如果有的话,你会更喜欢或需要哪种方式?
编辑:
所以听起来这是一个武断的决定,因为编译器应该如何解释事物的标准早在我出生之前起草了.因为const应用于关键字左侧的内容(默认情况下?)我猜他们认为添加"快捷方式"以应用关键字并以其他方式输入限定符至少直到声明更改为止时没有任何损害解析*或&...
这是C的情况,然后我假设?
所以我有这样的地图:
map<string, pair<string,string> > myMap;
Run Code Online (Sandbox Code Playgroud)
我使用以下方法在地图中插入了一些数据:
myMap.insert(make_pair(first_name, make_pair(middle_name, last_name)));
Run Code Online (Sandbox Code Playgroud)
我的问题是,如何打印出地图中的所有数据?请举例说明我的参考.
我生成了一个 5 个随机整数的数组,从 1 到 5。这是数组现在的样子:myArray[5] = {3, 3, 1, 4, 5}
我现在已经按升序对 5 个整数的数组进行了排序,从最小到最大。
myArray[5] = {1, 3, 3, 4, 5}
我现在需要计算特定整数的出现次数并制作一个表格。
如:
Number: Count:
1:1
2:0
3:3
4:0
5:1
Run Code Online (Sandbox Code Playgroud)
我得到的最远的是遍历数组。我很难计算这些数字并计算出现的次数。
不使用任何地图或迭代等。我正在尝试计算此计数。这是我已经尝试过的:
int counts[10];
for (int x = 0; x <= 10; x++){
int counter = 0;
for (int j = 0; j < ARRAY_SIZE; j++){
if (x == myArray[j]){
counts[x] == counter++;
}
}
cout << "Number: " << x << "Number of Occurances: " << counts[counter]<< …Run Code Online (Sandbox Code Playgroud) 所以,我有一个std::map<int, my_vector>,我想通过每个int并分析向量.我还没有完成分析矢量的部分,我还在试图弄清楚如何浏览地图上的每个元素.我知道有可能有一个迭代器,但我不太明白它是如何工作的,而且,我不知道是否有更好的方法来做我打算做的事情