【发布时间】:2021-03-02 16:19:20
【问题描述】:
我有一个随机访问迭代器,我需要把它变成一个指针(外部 API 需要它!)。我可以做T* ptr = &(*iter);,但我觉得它很丑。有没有更好的办法?所有随机访问迭代器通常都实现-> 运算符,但我不知道获取数据指针的通用方法。
【问题讨论】:
-
这个“丑陋”会阻止它正确吗?
-
您可以显式调用箭头运算符,但我不确定它是否更好:godbolt.org/z/heEdh5
-
可以去掉括号;不知道你是不是觉得不那么丑了。
-
@TanveerBadar 代码可能正确且无法维护。两者并不排斥。
-
@Touloudou 我没觉得丑。