首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

存在哪些C++字符串类/系统具有良好的unicode支持和良好的接口?

在C++编程语言中,有许多字符串类/系统可以提供良好的Unicode支持和良好的接口。以下是一些值得关注的选项:

  1. std::wstring:C++标准库中的std::wstring是一个宽字符字符串,可以用于存储Unicode字符。它使用std::wchar_t作为字符类型,通常在Windows平台上使用UTF-16编码,在Linux和macOS平台上使用UTF-32编码。
  2. std::u16stringstd::u16string是一个UTF-16编码的字符串类,可以用于存储Unicode字符。它使用char16_t作为字符类型,适用于跨平台开发。
  3. std::u32stringstd::u32string是一个UTF-32编码的字符串类,可以用于存储Unicode字符。它使用char32_t作为字符类型,适用于跨平台开发。
  4. std::string_viewstd::string_view是一个轻量级的字符串视图类,它可以用于处理UTF-8编码的字符串。它使用char作为字符类型,适用于跨平台开发。
  5. std::stringstd::string是一个标准库中的字符串类,通常用于处理UTF-8编码的字符串。它使用char作为字符类型,适用于跨平台开发。
  6. std::filesystem::pathstd::filesystem::path是一个用于表示文件路径的类,它可以处理包含Unicode字符的路径。它使用std::wstring作为字符类型,适用于跨平台开发。
  7. std::regexstd::regex是一个正则表达式库,可以用于处理包含Unicode字符的字符串。它使用std::wstring作为字符类型,适用于跨平台开发。
  8. std::codecvtstd::codecvt是一个字符编码转换库,可以用于处理包含Unicode字符的字符串。它使用std::wstring作为字符类型,适用于跨平台开发。
  9. std::localestd::locale是一个本地化库,可以用于处理包含Unicode字符的字符串。它使用std::wstring作为字符类型,适用于跨平台开发。
  10. std::wbuffer_convertstd::wbuffer_convert是一个缓冲区转换库,可以用于处理包含Unicode字符的字符串。它使用std::wstring作为字符类型,适用于跨平台开发。
  11. std::wstreamposstd::wstreampos是一个流位置库,可以用于处理包含Unicode字符的字符串。它使用std::wstring作为字符类型,适用于跨平台开发。
  12. std::wfilebufstd::wfilebuf是一个文件缓冲区库,可以用于处理包含Unicode字符的字符串。它使用std::wstring作为字符类型,适用于跨平台开发。
  13. std::wfstreamstd::wfstream是一个文件流库,可以用于处理包含Unicode字符的字符串。它使用std::wstring作为字符类型,适用于跨平台开发。
  14. std::wistringstreamstd::wistringstream是一个输入字符串流库,可以用于处理包含Unicode字符的字符串。它使用std::wstring作为字符类型,适用于跨平台开发。
  15. std::wostringstreamstd::wostringstream是一个输出字符串流库,可以用于处理包含Unicode字符的字符串。它使用std::wstring作为字符类型,适用于跨平台开发。
  16. std::wstringbufstd::wstringbuf是一个字符串缓冲区库,可以用于处理包含Unicode字符的字符串。它使用std::wstring作为字符类型,适用于跨平台开发。
  17. std::wistringstreamstd::wistringstream是一个输入字符串流库,可以用于处理包含Unicode字符的字符串。它使用std::wstring作为字符类型,适用于跨平台开发。
  18. std::wostringstreamstd::wostringstream是一个输出字符串流库,可以用于处理包含Unicode字符的字符串。它使用std::wstring作为字符类型,适用于跨平台开发。
  19. std::wstringstreamstd::wstringstream是一个字符串流库,可以用于处理包含Unicode字符的字符串。它使用std::wstring作为字符类型,适用于跨平台开发。
  20. std::wregexstd::wregex是一个正则表达式库,可以用于处理包含Unicode字符的字符串。它使用std::wstring作为字符类型,适用于跨平台开发。
  21. std::wsmatchstd::wsmatch是一个正则表达式匹配库,可以用于处理包含Unicode字符的字符串。它使用std::wstring作为字符类型,适用于跨平台开发。
  22. std::wsregex_iteratorstd::wsregex_iterator是一个正则表达式迭代器库,可以用于处理包含Unicode字符的字符串。它使用std::wstring作为字符类型,适用于跨平台开发。
  23. std::wssub_matchstd::wssub_match是一个正则表达式子匹配库,可以用于处理包含Unicode字符的字符串。它使用std::wstring作为字符类型,适用于跨平台开发。
  24. std::wcmatchstd::wcmatch是一个正则表达式匹配库,可以用于处理包含Unicode字符的字符串。它使用std::wstring作为字符类型,适用于跨平台开发。
  25. std::wcregex_iteratorstd::wcregex_iterator是一个正则表达式迭代器库,可以用于处理包含Unicode字符的字符串。它使用std::wstring作为字符类型,适用于跨平台开发。
  26. std::wcsub_matchstd::wcsub_match是一个正则表达式子匹配库,可以用于处理包含Unicode字符的字符串。它使用std::wstring作为字符类型,适用于跨平台开发。
  27. std::wcsub_matchstd::wcsub_match是一个正则表达式子匹配库,可以用于处理包含Unicode字符的字符串。它使用std::wstring作为字符类型,适用于跨平台开发。
  28. std::wcsub_matchstd::wcsub_match是一个正则表达式子匹配库,可以用于处理包含Unicode字符的字符串。它使用std::wstring作为字符类型,适用于跨平台开发。
  29. std::wcsub_matchstd::wcsub_match是一个正则表达式子匹配库,可以用于处理包含Unicode字符的字符串。它使用std::wstring作为字符类型,适用于跨平台开发。
  30. std::wcsub_matchstd::wcsub_match是一个正则表达式子匹配库,可以用于处理包含Unicode字符的字符串。它使用std::wstring作为字符类型,适用于跨平台开发。
  31. std::wcsub_matchstd::wcsub_match是一个正则表达式子匹配库,可以用于处理包含Unicode字符的字符串。它使用std::wstring作为字符类型,适用于跨平台开发。
  32. std::wcsub_matchstd::wcsub_match是一个正则表达式子匹配库,可以用于处理包含Unicode字符的字符串。它使用std::wstring作为字符类型,适用于跨平台开发。
  33. std::wcsub_matchstd::wcsub_match是一个正则表达式子匹配库,可以用于处理包含Unicode字符的字符串。它使用std::wstring作为字符类型,适用于跨平台开发。
  34. std::wcsub_matchstd::wcsub_match是一个正则表达式子匹配库,可以用于处理包含Unicode字符的字符串。它使用std::wstring作为字符类型,适用于跨平台开发。
  35. std::wcsub_matchstd::wcsub_match是一个正则表达式子匹配库,可以用于处理包含Unicode字符的字符串。它使用std::wstring作为字符类型,适用于跨平台开发。
  36. std::wcsub_matchstd::wcsub_match是一个正则表达式子匹配库,可以用于处理包含Unicode字符的字符串。它使用std::wstring作为字符类型,适用于跨平台开发。
  37. std::wcsub_matchstd::wcsub_match是一个正则表达式子匹配库,可以用于处理包含Unicode字符的字符串。它使用std::wstring作为字符类型,适用于跨平台开发。
  38. std::wcsub_matchstd::wcsub_match是一个正则表达式子匹配库,可以用于处理包含Unicode字符的字符串。它使用std::wstring作为字符类型,适用于跨平台开发。
  39. std::wcsub_matchstd::wcsub_match是一个正则表达式子匹配库,可以用于处理包含Unicode字符的字符串。它使用std::wstring作为字符类型,适用于跨平台开发。
  40. std::wcsub_matchstd::wcsub_match是一个正则表达式子匹配库,可以用于处理包含Unicode字符的字符串。它使用std::wstring作为字符类型,适用于跨平台开发。
  41. std::wcsub_matchstd::wcsub_match是一个正则表达式子匹配库,可以用于处理包含Unicode字符的字符串。它使用std::wstring作为字符类型,适用于跨平台开发。
  42. std::wcsub_matchstd::wcsub_match是一个正则表达式子匹配库,可以用于处理包含Unicode字符的字符串。它使用std::wstring作为字符类型,适用于跨平台开发。
  43. std::wcsub_matchstd::wcsub_match是一个正则表达式子匹配库,可以用于处理包含
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Java基础八股文第一弹

Java 与 C++ 区别 Java 是纯粹面向对象语言,所有的对象都继承自 java.lang.Object,C++ 兼容 C ,不但支持面向对象也支持面向过程。...Java 通过虚拟机从而实现跨平台特性, C++ 依赖于特定平台。 Java 没有指针,它引用可以理解为安全指针,而 C++ 具有 C 一样指针。...Java 支持自动垃圾回收,而 C++ 需要手动回收。 Java 不支持多重继承,只能通过实现多个接口来达到相同目的,而 C++ 支持多重继承。 面向对象和面向过程区别?...面向对象四大特性:封装,继承,多态,抽象 1、封装就是将信息隐藏在内部,不允许外部程序直接访问,而是通过该类方法实现对隐藏信息操作和访问。良好封装能够减少耦合。...在创建字符串时,JVM首先会检查字符串常量池,如果该字符串已经存在池中,则返回其引用,如果不存在,则创建此字符串并放入池中,并返回其引用。 Object常用方法有哪些

96610

python入门之python介绍

PyQt还支持一个叫qtext模块,它包含一个QScintilla库。该库是Scintillar编辑器Qt接口。     ...Python语言核心只包含数字、字符串、列表、字典、文件等常见类型函数,而由Python标准库提供了系统管理、网络通信、文本处理、数据库接口、图形系统、XML处理等额外功能。...Python标准库命名接口清晰、文档良好,很容易学习使用。     Python社区提供了大量第三方模块,使用方式与标准库类似。...借助于拥有基于标准库大量工具、能够使用低级语言如C可以作为其他库接口C++,Python已成为一种强大应用于其他语言与工具之间胶水语言。...PyPE:一个开源跨平台PythonIDE。 bpython: Unix操作系统下使用curses库开发轻量级Python解释器。语法提示功能。

1K20
  • 腾讯上海天天P图招人啦!

    iOS开发工程师 岗位职责: 负责移动端视频图像终端应用架构设计; 负责移动端视频图像终端应用版本现有功能维护及新功能模块开发; 负责定位并解决现有模块存在问题; 负责承担版本系统设计、性能及内存调优工作...后台开发工程师 岗位职责 负责天天P图、微视产品后台架构设计、服务程序研发; 负责运营支持系统建设研发工作,确保相关系统稳定可靠运行; 岗位要求: 本科以上学历,3年以上相关工作经验; 精通至少一种后台开发语言...(C++、PHP、Python); 熟悉Linux/Unix系统与开发环境; 熟悉TCP/IP协议、Socket编程; 熟悉Redis、memcache等KV数据库使用; 具有良好代码风格、接口设计与系统架构设计能力...; 抗压能力强,勇于挑战,能够适应高强度创新产品研发工作; 思路清晰,具备良好沟通能力团队协作精神; 有opencv、imagemagic开发经验者优先; 有高性能大容量服务系统设计开发经验者优先...,对可用性相关知识有实际了解实践经验; 具有良好代码风格、接口设计与系统架构设计能力; 抗压能力强,勇于挑战,能够适应高强度创新产品研发工作; 思路清晰,具备良好沟通能力团队协作精神; 有移动端

    1.5K90

    采用Go语言作为服务端编程语言建议书

    跨平台支持 虽然C++可以在多个操作系统上编译,但是各个厂商编译器对C++标准支持不尽相同;标准库接口也不尽相同;甚至C++对操作系统统一化处理也支持不好,例如不同平台上文件路径处理。...缺乏高并发多核支持 C++语言只支持物理线程,严重制约了系统并发性,在多核时代如果不同提高软件并发性,性能将受到很大影响。...二、Go语言简介 Go语言是Google开发一种编译型,并发型,具有垃圾回收功能系统编程语言,官方支持FreeBSD、Linux、Mac OS XWindows四大操作系统。...良好软件工程支持 a) 采用包机制管理源代码以及非侵入式接口设计,对代码重用支持非常好 b) 规范错误处理 c) 对单元测试、性能测试提供了良好支持...语言设计上改进,避免了C++中很多常见甚至不可避免BUG Go语言中对数据类型、指针字符串处理都做了重新设计,防止了许多在C++中常见内存处理BUG;同时Go语言提供垃圾收集功能,也防止了C++

    1.4K70

    C++库大全

    Boost另外一面,比如Graph这样库则是具有工业强度,结构良好,非常值得研读精品代码,并且也可以放心在产品代码中多多利用。...主要特性是提供3D图形,声效支持(SB,以及S3M),控制接口(键盘,鼠标遥感),XMS。...引擎中库对更底层系统库(如:Direct3DOpenGL)全部使用细节进行了抽象,并提供了基于现实世界对象接口其它。...字符串 1) C++ Str Library 操作字符串字符库,支持Windows支持gcc多种平台。提供高度优化代码,并且支持多线程环境Unicode,同时还有正则表达式支持。...ICU : IBMUnicode实现,有JAVAC++/C两种版本,支持各种编码,国际化本地化功能,但是,很庞大,8M左右。

    2.3K60

    采用Go语言作为服务端编程语言建议书

    跨平台支持 虽然C++可以在多个操作系统上编译,但是各个厂商编译器对C++标准支持不尽相同;标准库接口也不尽相同;甚至C++对操作系统统一化处理也支持不好,例如不同平台上文件路径处理。...缺乏高并发多核支持 C++语言只支持物理线程,严重制约了系统并发性,在多核时代如果不同提高软件并发性,性能将受到很大影响。...二、Go语言简介 Go语言是Google开发一种编译型,并发型,具有垃圾回收功能系统编程语言,官方支持FreeBSD、Linux、Mac OS XWindows四大操作系统。...良好软件工程支持 a) 采用包机制管理源代码以及非侵入式接口设计,对代码重用支持非常好 b) 规范错误处理 c) 对单元测试、性能测试提供了良好支持...语言设计上改进,避免了C++中很多常见甚至不可避免BUG Go语言中对数据类型、指针字符串处理都做了重新设计,防止了许多在C++中常见内存处理BUG;同时Go语言提供垃圾收集功能,也防止了C++

    2.4K80

    Android JNI出坑指南

    在Android编程中,出于硬件交互,跨平台,安全性,第三方库等方面的考虑,我们需要Java与C/C++互相调用,这就需要借助Java平台JNI接口(Java Native Interface)。...Android早期版本因JNI调用性能,native代码调试困难而被诟病,但近年来性能已经有不错优化,Android NDK对C++开发支持也越来越好,特别是在Android Studio上开发调试C...而在使用自己创建并Attach到虚拟机线程时,因为没有栈桢(stack frame)信息,此场景下虚拟机会通过另外系统加载器寻找应用信息,但此类加载器并未加载应用,因此FindClass返回空...尽管如此,为了要保持良好向后兼容、要改变也不容易了。这个改正编码系统保证了一个已编码字符串可以一次编为一个UTF-16码,而不是一次一个Unicode码点。...可以先将JavaString用UTF-8编码转换成byte数组,再转换成C/C++字符串即可保证字符编码为UTF-8。下面是Java与C++使用UTF-8字符串交互方法供参考。

    4.4K71

    Python系列教程一Python入门(一)

    原因的话暂时不想解释,后期我会通过博客来说明我为什么会选择Python这门开发语言,我Python之间有哪些故事。...3、Python具有丰富强大库。它常被称为胶水语言,能够把用其他语言制作各种模块(尤其是C/C++)很轻松地联结在一起。...需要注意是在使用扩展库时可能需要考虑平台问题,某些可能不提供跨平台实现。 2、语言特点 简单:Python是一种代表简单主义思想语言。阅读一个良好Python程序就感觉像是在读英语一样。...Python语言核心只包含数字、字符串、列表、字典、文件等常见类型函数,而由Python标准库提供了系统管理、网络通信、文本处理、数据库接口、图形系统、XML处理等额外功能。...Python标准库命名接口清晰、文档良好,很容易学习使用。

    32320

    影响众多编程语言、引发供应链攻击,剑桥大学发布「木马源」漏洞

    Unicode ,有以下两种攻击方式: 第一种是通过 Unicode Bidi 算法(CVE-2021-42574),该算法处理从左到右(如英语)从右到左(如阿拉伯语希伯来语)脚本显示顺序。...相互嵌入多层 LRI RLI,可以近乎任意地重新排序字符串。...虽然注释字符串具有指示其开始结束特定于语法语义,但 Bidi 覆盖不遵守这些界限。...同样令人担忧是,Bidi 覆盖字符通过复制、粘贴操作,仍然存在于浏览器、编辑器操作系统上。...对于这种攻击,你可以使用改变方向来改变注释字符串呈现方式,例如「This is okay」只是一种呈现形式,但「This is」okay 才是它在代码中存在方式。

    88510

    功能强大JavaScript引擎--SpiderMonkey

    K-3D是用C++实现3D建模与仿真系统,该系统内嵌SpiderMonkey引擎来提供自定义脚本(用户创建脚本生成像齿轮一样具有重复特性复杂形体),也可用来驱动交互式教学系统(用户可以使用一段JS...3.处理JS字符串 你在JavaScript中做许多事情都会涉及到字符串,JS引擎实现了一个称为JSString字符串数据类型一个指向JS字符数组指针类型即jschar,用处理Unicode编码字符串...这个引擎也实现了一组通用Unicode字符串程序。最后,JS引擎也提供内置串支持,两个或多个独立字符串在内存中能共享一个串。对于JSString类型字符串,这个引擎跟踪并管理串资源。...4.对UnicodeInterned字符串支持 像其他API调用一样,具有Unicode能力API字符串函数名字与标准引擎API字符串函数名字是一一对应。...具有Unicode处理能力API字符串函数对于interned字符串也是可行。 为了节约空间,JS引擎为共享单个字符串实例提供支持。这种共享字符串称为"interned strings"。

    2.1K50

    Java当中常量池

    程序计数器是jvm执行程序流水线,是用来存放一些指令,本地方法栈是jvm操作系统方法所使用栈,而虚拟机栈是用来执行程序代码栈,在方法区中有变量,信息,方法信息,常量池(符号引用,以表形式存在...常量表 常量表类型标志值描述CONSTANT_Utf81UTF-8编码Unicode字符串CONSTANT_Integer3int类型字面值CONSTANT_Float4float类型字面值CONSTANT_Long5long...原理: 出现了字面量“dashu”,系统会到字符串常量池中查找是否有相同字符串存在,如果有,就不会创建新对象了,否则就会用字面量值“dashu”,创建一个String对象。...JNI来调用c语言或是c++执行。...静态常量池就是class文件中常量池有字符串字面量,信息,方法信息等,占用了class文件较大部分空间,在常量池中主要存放是字面量符号引用量。

    34510

    第46节:Java当中常量池

    JVM内存模型.png 程序计数器是jvm执行程序流水线,是用来存放一些指令,本地方法栈是jvm操作系统方法所使用栈,而虚拟机栈是用来执行程序代码栈,在方法区中有变量,信息,方法信息,常量池...常量表 常量表类型 标志值 描述 CONSTANT_Utf8 1 UTF-8编码Unicode字符串 CONSTANT_Integer 3 int类型字面值 CONSTANT_Float 4 float...原理: 出现了字面量“dashu”,系统会到字符串常量池中查找是否有相同字符串存在,如果有,就不会创建新对象了,否则就会用字面量值“dashu”,创建一个String对象。...JNI来调用c语言或是c++执行。...静态常量池就是class文件中常量池有字符串字面量,信息,方法信息等,占用了class文件较大部分空间,在常量池中主要存放是字面量符号引用量。

    83350

    Julia 终于正式发布了

    动态:Julia是动态类型,与脚本语言类似,并且对交互式使用具有很好支持。 数值计算:Julia擅长于数值计算,它语法适用于数学计算,支持多种数值类型,并且支持并行计算。...Julia多分派自然适合于定义数值数组数据类型。 可选类型标注:Julia拥有丰富数据类型描述,类型声明可以使得程序更加可读健壮。 可组合:Julia包可以很自然组合运行。...单位数量矩阵或数据表一列中货币颜色可以一起组合使用并且拥有良好性能。...而这样集合类型性能在过去Julia版本里可能会很慢,但是现在编译器已经 可以使得Julia在缺失值表示上达到类似 C 或者 C++ 速度,而远比 C 或者 C++ 一般灵活。...所有的字符串数据会保留,同时指出哪些字符是有效哪些是无效,这样允许你应用安全并方便地运行在不可避免会出现缺陷真实世界数据中。

    47630

    Android NDK开发入门

    尽管Java一贯以其良好跨平台性而著称,但真正跨平台非C/C++莫属,因为当前世上90%系统都是基于C/C++编写。...原生C/C++ 库 很多核心 Android 系统组件和服务都是使用C C++ 编写,为了方便开发者调用这些原生库功能,AndroidFramework提供了调用相应API。...NDK NDK是什么 NDK(Native Development Kit缩写)一种基于原生程序接口软件开发工具包,可以让您在 Android 应用中利用 C C++ 代码工具。...GetStringRegionGetStringUTFRegion: 获取UnicodeUTF-8字符串中指定范围内容(如: 只需要1-3索引处字符串),这对函数会将源字符串复制到一个预先分配缓冲区...它们提供了开始索引字符串长度值,复制消耗也是非常小 获取Unicode字符串长度,使用GetStringCharsGetStringLength函数。

    1.6K50

    机器学习如何从 Python 2 迁移到 Python 3

    因此,明确地了解哪些类型方法,并在这些类型方法未得到相应参数时候发出错误提示,这对于大型系统运作是很有帮助。...因为我在字符串中使用了俄文字母,对于 Python 2 是无法识别或编码这样字符。 Python 3 中 strs 是 Unicode 字符串,这对非英语文本自然语言处理任务来说将更加地方便。...保留词典**kwargs 顺序 CPython 3.6+ 版本中字典默认行为是一种类似 OrderedDict ,但最新 Python3.7 版本,此类已经得到了全面的支持。...下面这段代码教你如何查看整型值: 其他改动 Enums 改动具有理论价值,是因为字符串输入已广泛应用在 python 数据栈中。...Python 3 支持 unicode 编码格式,如 ω = Δφ / Δt 也是可以允许,但最好使用兼容性更好旧 ASCII 名称。

    1.4K60

    第3章 | 基本数据类型 | 字符串类型

    标准库还提供了一个 std::string ,用于在运行期动态创建字符串。 Rust 中也有类似的设计。本节将首先展示所有编写字符串字面量方法,然后介绍 Rust 两种字符串类型。...这意味着如果希望允许调用者传递任何一种字符串,那么 &str 更适合作为函数参数。 3.7.5 使用字符串 字符串支持 == 运算符 != 运算符。...("ONE".to_lowercase() == "one"); 字符串支持比较运算符 >=,以及许多有用方法函数,你可以在“str(原始类型)”或“std::str”模块下在线文档中找到它们...这种情况通常发生在 Rust 程序不得不与不强制执行此类规则其他系统进行互操作时,例如,在大多数操作系统中,很容易创建一个名字不符合 Unicode 规则文件。...当使用操作系统提供原生形式环境变量名命令行参数时,请使用 OsString &OsStr。

    9410

    Java 发展简史:初生遇低谷,崛起于互联网

    当时C++较为有优势,项目小组首先考虑是采用它来编写程序,但C++过于复杂庞大,再加上由于消费电子产品所采用嵌入式处理器芯片种类繁杂,需要让编写程序跨平台运行,假如用C++编写的话对程序跨平台运行不友好...最后项目小组决定:既不用C++编写,也不开发全新编程语言,而是对C++进行改造:去除了C++复杂指针内存管理,并结合嵌入式系统实时性要求,最终在1992年,他们开发了一种名为“Oak”面向对象语言...与J2SE1.3相比,多了近62%接口。在这些新特性当中,还提供了广泛XML支持、安全套接字(Socket)支持(通过SSL与TLS协议)、全新I/OAPI、正则表达式、日志与断言。...,引入函数式编程使得Java编程更为强大,较典型有: Java工具操作增强 Unicode增强功能,包括对Unicode 6.2.0支持 并行阵列排序 标准编码和解码Base64 无符号算术支持...Java本身具有很大开放性可扩展性,再加上Java如此雄厚历史背景,我相信一个语言只要不断发展,就很难会被时代淘汰。

    62510

    D语言陷阱

    诚如D所介绍那样,它是一门通用系统应用编程语言。俺最欣赏D能以原生语言身份引入垃圾回收机制。不依赖于特定虚拟机实现着实让俺兴奋了一阵。...D借鉴了很多语言长处,但在很大程度上保留了C/C++观感。为了与C二进制兼容,采用了C99数据类型;为了支持多种编程范式,沿袭了C++模型。其中值得一提是它虚方法调用机制师从于Java。...另外俺认为良好编程风格应该可以清晰表达代码意图。D为了保持C/C++观感,采取了上面的风格。俺不推荐。...D里面的privateC++/C#等语言private语义稍有不同。在D中,private修饰函数不仅可以被所在内部成员访问,甚至可以被同一模块内其他成员访问。...因此,我们重点考察D虚方法调用接口继承(应用设计模式,抽象也能发挥很大作用,但不在我们讨论范围之内)。

    62310
    领券