作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想知道这是否适合在 C++ 中遍历数组。
int array[] = {4,3,2};
int n = 0;
// traverse through array
while (array[n] >=0){
cout << array[n];
n++;
}
在我当前的问题中,对整数数组进行排序对我很有用。
最佳答案
你到底为什么认为这行得通?大多数时候,它惯于。如果你的数组包含 0
,它显然不会,如果你的数组不包含 0
,它很可能也会继续远(导致未定义的行为)。
遍历数组:
for ( int n: array ) {
std::cout << n << std::endl;
}
或者在 C++11 之前的版本中:
for ( int* current = begin( array ); current != end( array); ++ current ) {
std::cout << *current << std::endl;
}
在C++11中,你也可以这样做,而且你甚至不必编写您自己的 begin
和 end
版本。在 C++11 之前,你会需要:
template <typename T, size_t n>
T*
begin( T (&array)[n] )
{
return array;
}
template <typename T, size_t n>
T*
end( T (&array)[n] )
{
return array + n;
}
将它们放在一些普遍包含的标题中。
关于c++ - 在cpp中遍历数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22844826/
我是一名优秀的程序员,十分优秀!