首页 / 知识
关于C#:为什么std :: fstream类不采用std :: string?
2023-04-13 11:53:00

Why don't the std::fstream classes take a std::string?这虽然不是一个设计问题,但看起来确实如此。 (好吧,这是一个设计问题)。我想知道的是为什么C
在处理文件时,这让我无时无刻不在。 C库肯定会在任何可能的地方使用 通过使用C字符串,C 03 现在,您可能想知道为什么没有从 原因是,这将导致转换周期,进而可能导致问题。例如,假设
因为您可以在 进行的操作。 C标准委员会在很多地方并没有真正优化标准库中设施之间的交互。 另一个示例是 也是如此 我希望所有这些小问题都将在即将到来的标准中得到解决。 也许这是一个安慰:所有fstream都已打开(字符串const n @ Bernard:
它的方法比实际需要的要多,并且它使用积分偏移量而不是迭代器的行为还有些不确定(因为这与库的其余部分的工作方式相反)。 我认为真正的问题是C库包含三个部分:它具有旧的C库,STL和字符串流。尽管已经做出了一些努力来桥接不同的部分(例如,向C库添加了重载,因为C支持重载;向basic_string添加了迭代器;向iostream迭代器适配器添加了),但是当您使用看细节。 例如,basic_string包含的方法是标准算法的不必要重复;各种查找方法可能都可以安全地删除。另一个示例:语言环境使用原始指针代替迭代器。 n n 我认为这是经过深思熟虑的,并且可以避免依赖。即,#include 中。 说实话,这似乎是一个无关紧要的问题。更好的问题是,为什么std :: string \\的界面这么大? STL中是否有任何采用字符串的类……我不这么认为(无法在我的快速搜索中找到任何类)。因此,可能是一些设计决策,即STL中的任何类都不应该依赖于任何其他STL类(对于功能而言,这不是直接需要的)。 |
最新内容
相关内容
python的调用绑定方法和非绑定方法
python的调用绑定方法和非绑定方法,代码,方法,实例,第一,培训,时计,奇数,偶数,参数,定义,在Python中,如果用实例去调用方法,这种限制就被称为Py列举Python面向对象中带双下划线的
列举Python面向对象中带双下划线的特殊方法,信息,代码,培训,对象,属性,方法,实例,字符串,里边,内容,__new__:生成实例__init__:生成实例的属性_python获取当前时间日期有哪些方法
python获取当前时间日期有哪些方法?,时间,标准,星期六,培训,日期,微秒,结果,模块,星期,格式,获取到时间也是我们在学习python遇到的常见问题,python中获取路径的三种方法
python中获取路径的三种方法,工作,代码,情况,培训,下来,路径,文件,也就是,桌面,目录,python中获取路径总结下来分为三种情况:1、获取工作目录python列表有哪些常用方法?
python列表有哪些常用方法?,位置,方法,培训,列表,语法,元素,示例,对象,以上,参数,列表是最常用的Python数据类型,它可以作为一个方括号内的逗Python如何创建对象,有哪些方法
Python如何创建对象,有哪些方法,培训,对象,方法,内容,函数,属性,所在,以上,以下,功能,以下介绍Python创建对象的9种方法。classPoint:def__iniPython静态函数和普通方法的区别
Python静态函数和普通方法的区别,培训,方法,静态,区别,实例,函数,属性,结果,例子,下面,下面通过一个例子,讲解Python静态函数、普通方法、类方python中什么是类方法
python中什么是类方法,培训,方法,实例,静态,定义,参数,函数,内部,变量,属性,python中的类方法,指的是在类中定义的函数,函数在类的内部称为方法python中类对象和方法的区别是什么
python中类对象和方法的区别是什么,地址,数据,培训,对象,函数,类型,字符串,方法,表示,身份,python使用对象模型来存储数据,也就是说构造任何类python看类里有哪些方法
python看类里有哪些方法,信息,员工,培训,名称,方法,函数,冒号,字符串,语句,结尾,python使用class语句来创建一个新类,class之后为类的名称并以python怎么调用方法
python怎么调用方法,系统,培训,方法,参数,法名,定义,列表,实例,以上,函数,python调用的方法类的方法的定义1、定义一个类deffun_name(self,..怎么看python模块中的方法
怎么看python模块中的方法,信息,时间,电脑,培训,模块,方法,命令,之前,以上,效果,随着使用python的时间越来越长,安装的python模块也越来越多,时