水木社区手机版
首页
|版面-C++程序设计语言(CPlusPlus)|
新版wap站已上线
返回
首页
|
上页
|
下页
|
尾页
|
4/6
|
转到
主题:size_t和int比较时哪种写法效率更高?
30楼
|
newzzdx
|
2020-08-13 14:54:54
|
只看此ID
用size_t
【 在 jsznzsj 的大作中提到: 】
: int n;
: vector<double> vec;
: 是 (size_t)n < vec.size() 还是 n < (int)vec.size() 效率高?假设64位程序。
: ...................
--
FROM 221.219.212.*
31楼
|
god4
|
2020-08-13 16:00:31
|
只看此ID
没错,这是基本的东西,搞不清这个码农不是合格的码农。
比起来cpp里加的太多东西才是没球用的
【 在 z16166 的大作中提到: 】
: 这锅为啥要让size_t来背
: 特殊情况、边界情况,本身就需要码农自己注意
:
--
FROM 101.243.155.*
32楼
|
libgcc
|
2020-08-13 23:10:32
|
只看此ID
能用range for谁不会用
说的就是遍历的时候又要index的情况
难道写成
int i=0;
for(auto x : xx)
{
....
++i;
}
这种样子?
那前面要有个continue什么的不是又儍了
【 在 z16166 (Netguy) 的大作中提到: 】
: 标 题: Re: Re:size_t和int比较时哪种写法效率更高?
: 发信站: 水木社区 (Thu Aug 13 14:25:30 2020), 站内
:
: 尽量避免裸写for循环,上/下边界处很容易出问题。
: 用ranged for或者std::for_each,需要倒序遍历的用rbegin()/rend()封一个适配器
:
https://www.fluentcpp.com/2020/02/11/reverse-for-loops-in-cpp/
:
https://stackoverflow.com/questions/8542591/c11-reverse-range-based-for-loop
:
: 【 在 mountainlion 的大作中提到: 】
: : 主要是写出来的会很不优雅。以刚才的为例
: : for(i=0; i<ss.size(); ++i){}
: : 是一个比较常见的写法吧。但是倒序
: : ...................
:
: --
: ※ 修改:·z16166 于 Aug 13 14:37:14 2020 修改本文·[FROM: 123.115.131.*]
: ※ 来源:·水木社区
http://www.newsmth.net
·[FROM: 123.115.131.*]
--
修改:z16166 FROM 123.115.131.*
FROM 171.83.95.*
33楼
|
z16166
|
2020-08-13 23:16:16
|
只看此ID
向上偏移个1
for(size_t blah = v.size(); blah >= 1; --blah) {
size_t index = blah - 1;
}
嫌繁的给这个搞个宏
【 在 libgcc 的大作中提到: 】
: 能用range for谁不会用
: 说的就是遍历的时候又要index的情况
: 难道写成
: ...................
--
FROM 123.115.131.*
34楼
|
libgcc
|
2020-08-13 23:16:26
|
只看此ID
.................
【 在 z16166 (Netguy) 的大作中提到: 】
: 标 题: Re: Re:size_t和int比较时哪种写法效率更高?
: 发信站: 水木社区 (Thu Aug 13 23:16:16 2020), 站内
:
: 向上偏移个1
:
: for(size_t blah = v.size(); blah >= 1; --blah) {
: size_t index = blah - 1;
: }
:
: 嫌繁的给这个搞个宏
:
:
:
: 【 在 libgcc 的大作中提到: 】
: : 能用range for谁不会用
: : 说的就是遍历的时候又要index的情况
: : 难道写成
: : ...................
:
: --
:
: ※ 来源:·水木社区
http://www.newsmth.net
·[FROM: 123.115.131.*]
--
FROM 171.83.95.*
35楼
|
ancksunamun
|
2020-08-13 23:17:26
|
只看此ID
我就经常遇到,影像系统的模拟。我干活的workstation都是256G内存。
【 在 hgoldfish 的大作中提到: 】
: 道理我懂啊。我只是想问,有谁见过一次性处理 4gb 内存和 4g 元素列表的代码没?是什么场景。
:
: 【 在 z16166 (Netguy) 的大作中提到: 】
: ....................
--
FROM 67.248.18.*
36楼
|
libgcc
|
2020-08-13 23:19:15
|
只看此ID
你是一次处理4G的数据
还是一次vector放超过3亿个元素?
【 在 ancksunamun (安卡苏娜) 的大作中提到: 】
: 标 题: Re: size_t和int比较时哪种写法效率更高?
: 发信站: 水木社区 (Thu Aug 13 23:17:26 2020), 站内
:
: 我就经常遇到,影像系统的模拟。我干活的workstation都是256G内存。
: 【 在 hgoldfish 的大作中提到: 】
: : 道理我懂啊。我只是想问,有谁见过一次性处理 4gb 内存和 4g 元素列表的代码没?是什么场景。
: :
: : 【 在 z16166 (Netguy) 的大作中提到: 】
: : ....................
: --
:
: ※ 来源:·最水木 客户端·[FROM: 67.248.18.*]
--
FROM 171.83.95.*
37楼
|
ancksunamun
|
2020-08-13 23:27:37
|
只看此ID
一个矩阵超过3亿个元素,主要的操作是矩阵的运算。比如探测器有2000x2000 pixel,每个pixel有1000个energy bin,再细分各种物理过程,就几十个G了。
【 在 libgcc 的大作中提到: 】
: 你是一次处理4G的数据
:
: 还是一次vector放超过3亿个元素?
: ....................
--
FROM 67.248.18.*
38楼
|
walkinrain
|
2020-08-14 00:27:29
|
只看此ID
小白问一下,我也需要操作超大矩阵,
但是一运行就报报错,不能分配那么多内存
这种情况该怎么处理?比如我需要处理超过
10G存储量的矩阵。
【 在 ancksunamun 的大作中提到: 】
: 一个矩阵超过3亿个元素,主要的操作是矩阵的运算。比如探测器有2000x2000 pixel,每个pixel有1000个energy bin,再细分各种物理过程,就几十个G了。
: 【 在 libgcc 的大作中提到: 】
: : 你是一次处理4G的数据
: ....................
- 来自「最水木 for iPhone 7 Plus」
--
FROM 222.131.13.*
39楼
|
ancksunamun
|
2020-08-14 00:30:54
|
只看此ID
难道是32位的OS或者编译程序?
【 在 walkinrain 的大作中提到: 】
: 小白问一下,我也需要操作超大矩阵,
: 但是一运行就报报错,不能分配那么多内存
: 这种情况该怎么处理?比如我需要处理超过
: ....................
--
FROM 67.248.18.*
首页
|
上页
|
下页
|
尾页
|
4/6
|
转到
选择讨论区
首页
|
分区
|
热推
BYR-Team
©
2010.
KBS Dev-Team
©
2011
登录完整版