Programming languages Unicode库的语言选择:C或C++;? 我正在编写一个轻的Unicode库,但我是否坚持要为C或C++编写它?C++有操作重载和更好的类处理的好处,但是很多程序都是用C语言编写的,与C.兼容似乎很好,我应该如何决定要用什么语言来编写?

Programming languages Unicode库的语言选择:C或C++;? 我正在编写一个轻的Unicode库,但我是否坚持要为C或C++编写它?C++有操作重载和更好的类处理的好处,但是很多程序都是用C语言编写的,与C.兼容似乎很好,我应该如何决定要用什么语言来编写?,programming-languages,Programming Languages,顺便说一下,我知道附近有很多这样的图书馆;我把图书馆仅仅作为一个练习写,虽然我可能会在我的程序中使用它。 容易-用C写,并有C++包装。这使得C和C++用户都很高兴,如果写得正确,C用C++包的开销很小。确保遵循可重入代码的Shane模型——例如,在C中处理int和销毁函数的指针将对应于C++中的类的构造函数和析构函数,在结构指针对应于 < < /Cord>指针> < /P>这是否意味着我将编写C基础库,如“代码> Oracle < /Cube >(例如),但是在C++包装器中,添加一个操作符重

顺便说一下,我知道附近有很多这样的图书馆;我把图书馆仅仅作为一个练习写,虽然我可能会在我的程序中使用它。

容易-用C写,并有C++包装。这使得C和C++用户都很高兴,如果写得正确,C用C++包的开销很小。确保遵循可重入代码的Shane模型——例如,在C中处理int和销毁函数的指针将对应于C++中的类的构造函数和析构函数,在结构指针对应于<代码> < < /Cord>指针> < /P>这是否意味着我将编写C基础库,如“代码> Oracle < /Cube >(例如),但是在C++包装器中,添加一个操作符重载,在字符串内部调用<代码> Oracle < /Cord>?如果我正确解释,USRCAT是一个unicode字符串连接函数,在C中可以接受两个字符串指针。在C++中,您可以将其封装为具有级联成员(或+=运算符)的Unicode字符串类,其操作数是对Unicode字符串类的另一实例的引用。在这种情况下,是的,连接成员函数将在内部调用

ustcat
。是的,这就是我的意思。这样做合适吗?没错。另外,注意,可以用两种方式之一来发布库——或者创建独立的C库,制作依赖于它的C++库,并将其中一个或两个进行一次;或者,制作一个C库,并对C++库进行重新编译,以便C++成员可以内联C函数,这样C++库也独立,然后将一个库或另一个库装运。