当前位置:  开发笔记 > 编程语言 > 正文

签名std :: strtol

如何解决《签名std::strtol》经验,为你挑选了1个好方法。

签名的std::strtol表述如下:

long strtol(const char *str, char **str_end, int base);

我实际上期望第二个参数是类型const char**.是char**什么类型的解释?请注意,可以修改类型的变量const char**.你无法修改的是一个char* const *变量.



1> user657267..:

在昔日的日子里(在C90之前),C没有概念,const一切都使用平淡char*.

由于char*可以隐式转换为char const*更改大多数库函数的签名以支持const不是太大的问题.char**但是无法转换为a char const**,请参阅C++标准中的以下注释

在此输入图像描述

由于C不支持重载,委员会不得不在破坏遗留代码或强迫每个人传入代码之间做出选择char**.两者都不理想,但看起来他们跟后者一样.

推荐阅读
U友50081205_653
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有