我不擅长C++.我有一个非常短的C++脚本,我试图转换为PHP处理向量.
从在线文档我收集到的向量是东西的列表,有点像PHP中的数组,但功能较少.但是,我很难找到关于矢量操作的好文档.
例如
real32 test(std::vector<T>::iterator First, std::vector<T>::iterator Last)
{
if(Last - First > 0) {
// do stuff
}
}
Run Code Online (Sandbox Code Playgroud)
在这个片段中,我可以猜测一些与之相关的结果Last - First.
iterator- 但这可能是for循环//do stuff part)我正在尝试RTFM,但我偶然发现的一些在线资源并没有特别有见地(尽管我可能无法提出/搜索正确的问题)
Last - First在这种情况下实际上在做什么?
该函数不需要2 vector秒,而是2 iterators,它指向a内的特定位置vector.在这种情况下,第一个和最后一个元素.这是一个普通的C++习语.(注意,迭代器实际上可能表示现有的一些子部分,vector实际上并不一定是整个部分).
因此,差异是该元素的总数vector.通常,会有一个循环处理每个元素,并递增First直到它命中Last.
1|2|3|4|5|
^First ^Last
Run Code Online (Sandbox Code Playgroud)
请注意,Last它没有指向5,而是一个经过它.Last不是一个有效的元素vector,而是一个哨兵,表示何时停止循环.
在这种情况下Last-First == 5,因为您必须增加First5次才能命中Last.
参考文档通常不是学习该语言的最佳场所.我们有书单.
你的链接:
isocpp.org:关于标准化流程和委员会,这里没有太多实际的语言文档.
cplusplus.com:非官方参考文档网站.在过去,修复错误并不是很好.很多人都喜欢:
cppreference.com:社区维护的参考文档维基.
除了The Standard之外没有"官方"参考文档,其中的草稿可以在isocpp.org上找到,但实际上,不要试图阅读它,它只是专家,针对编译器实现者.我甚至都没有链接到它.
说实话,我很难在网上找到一个非常好的初学者教程.
| 归档时间: |
|
| 查看次数: |
114 次 |
| 最近记录: |