PTT
Submit
Submit
选择语言
正體中文
简体中文
PTT
C_and_CPP
[问题] strtod 的引数设计
楼主:
noodleT
(面T)
2016-04-13 20:29:07
大家好,
double strtod (const char* str,char** endptr);
strtod 可以用来解析浮点数,并且得到解析完后“光标位置”
方便我们再做其它字串处理。
http://www.cplusplus.com/reference/cstdlib/strtod/
如同上面网址中的 d2 = strtod (pEnd, NULL);
而它只是要指到光标位置,
并不会修改内容,例如 **endptr = 'a'
为什么 endptr 不加 const 修饰?
加 const 修饰,是可以通过编译的
http://ideone.com/o2uhO8
作者: LiloHuang (十年一刻)
2016-04-13 21:39:00
设计上是为了方便起见,假使真的想要修改 **endptr比如说 **endptr = '\0'; 但也暴露著对 string literal修改的风险
楼主:
noodleT
(面T)
2016-04-13 21:54:00
但第一个引数 *str 已经加了 const , **endptr 指向它,照道理来说不是不能将常数指标赋予给普通指标?
作者: LiloHuang (十年一刻)
2016-04-13 22:37:00
因为第一个引数可能本体不是 const char * 而是 char *刚找了一下 SO 上也有类似的讨论
http://goo.gl/SEuTPz
http://goo.gl/hfGz4u
讨论串看完的结论就是折衷设计
继续阅读
Re: [讨论] 关于板务的一些想法
s89227
[问题] 计算使用者输入数列之平均值
harryfly
[问题] VC++ 2012 Form Release .exe封装问题
yak2573
[问题] 请问三个问题点一下
povertytrap
[问题] 阵列与字串的疑问
auto402749
[问题] class的一点问题
midlanegod
[讨论] struct的Initial
MaxHaru
Re: [讨论] 关于板务的一些想法
Neisseria
[问题] Ifstream的问题
david830317
Re: [问题] 不用if-else, for, while, do-while取绝
ibmibmibm
Links
booklink
Contact Us: admin [ a t ] ucptt.com