当前位置: 首页 > news >正文

前端网站页面模板外链博客网站

前端网站页面模板,外链博客网站,电烤箱做蛋糕网站,策划书word模板QChar 在Qt中#xff0c;Unicode字符是没有任何标记或结构的16位实体。QChar表示这样的实体。它是轻量的#xff0c;因此可以在任何地方使用。大多数编译器将其视为unsigned short。 QChar 提供了构造函数和强制转换运算符与传统的8位字符进行转换。如果定义了QT_NO_CAST_F…QChar 在Qt中Unicode字符是没有任何标记或结构的16位实体。QChar表示这样的实体。它是轻量的因此可以在任何地方使用。大多数编译器将其视为unsigned short。 QChar 提供了构造函数和强制转换运算符与传统的8位字符进行转换。如果定义了QT_NO_CAST_FROM_ASCII和QT_NO_CAST_TO_ASCIIchar则需要显式调用fromLatin1()或使用QLatin1Char()从8位构造QChar并且需要调用toLatin1()来获取8位字符。 QChar的定义内部只保存了一个ushort类型的成员变量ucs其它都是属性和方法。 class Q_CORE_EXPORT QChar { public://....Q_DECL_CONSTEXPR QChar() noexcept : ucs(0) {}Q_DECL_CONSTEXPR QChar(ushort rc) noexcept : ucs(rc) {} // implicitQ_DECL_CONSTEXPR QChar(uchar c, uchar r) noexcept : ucs(ushort((r 8) | c)) {}//.... private://....ushort ucs; };QString在构造时调用QTypedArray的allocate函数将返回的地址赋值给指针d。data()返回ushort *类型指针对指针进行[]运算符结果进行初始化相当于从data()返回地址开始构造一个数组每一个元素存储一个QChar即unsigned short。 template class T struct QTypedArrayData: QArrayData { //......T *data() { return static_castT *(QArrayData::data()); } }; typedef QTypedArrayDataushort QStringData; typedef QStringData Data; Data* d; QString::QString(QChar ch) {d Data::allocate(2);Q_CHECK_PTR(d);d-size 1;d-data()[0] ch.unicode();d-data()[1] \0; }char char是C的基本字符类型用于存储 ASCII 字符。QString采用UTF-16编码将传入的char*字符串参数当作UTF-8格式进行转换。 以const char *为参数的拷贝赋值运算符调用了fromUtf8()fromUtf8()返回QString再调用以const QString 的拷贝赋值运算符浅拷贝d指针。 inline QT_ASCII_CAST_WARN QString operator(const char *ch){ return (*this fromUtf8(ch)); }以const char *为参数的构造函数调用了fromAscii_helper()fromAscii_helper()返回d指针拷贝。 inline QT_ASCII_CAST_WARN QString(const char *ch): d(fromAscii_helper(ch, ch ? int(strlen(ch)) : -1)) {}QString::Data *QString::fromAscii_helper(const char *str, int size) {QString s fromUtf8(str, size);s.d-ref.ref();return s.d; }static inline QString fromUtf8(const char *str, int size -1) {return fromUtf8_helper(str, (str size -1) ? int(strlen(str)) : size); }QByteArray [ref|size|alloc|reserve|offset|Byte|Byte|Byte|...]QByteArray 可用于存储原始字节包括“\0”和传统的 8 位“\0”结尾字符串。使用 QByteArray 比使用const char *更方便。QByteArray 始终确保数据后跟一个“\0”终止符并使用写入时复制来减少内存使用量并避免不必要的数据复制。 除了QByteArray之外Qt还提供了存储字符串数据的类QString。在大多数情况下使用QString将其内容理解为 Unicode 文本使用 UTF-16编码其中 QByteArray 旨在避免对其存储的字节的编码或语义进行假设除了一些使用 ASCII 的传统情况。此外在Qt API中始终使用QString。QByteArray 适用的两种主要情况是需要存储原始二进制数据时以及内存保护至关重要时例如使用 Qt for Embedded Linux。 初始化 QByteArray 的一种方法是简单地将const char *传递给其构造函数。 QByteArray 通常将数据作为字节处理而不假定任何语义在假定语义的情况下它使用 C 语言环境和 ASCII 编码。QString支持标准的Unicode编码其他编码可能支持使用QStringEncoder和QStringDecoder 转换为Unicode。对于特定于区域设置的文本解释请使用QLocal或QString。 在QByteArray的定义中可以知道QByteArray和QString类似使用类模板QTypedArrayData类型的指针d管理数据模板实参为char采用“隐式共享”的机制减少不必要的拷贝。 class Q_CORE_EXPORT QByteArray { private:typedef QTypedArrayDatachar Data; public://...... private:Data *d;//...... };d指针返回的对象为char *的指针指向为字节数组的开始地址通过[]运算符对字节数组赋值。 QByteArray QByteArray::append(char ch) {if (d-ref.isShared() || uint(d-size) 2u d-alloc)reallocData(uint(d-size) 2u, d-detachFlags() | Data::Grow);d-data()[d-size] ch;d-data()[d-size] \0;return *this; }
http://www.pierceye.com/news/260155/

相关文章:

  • 南阳网站关键词ppt在线浏览网站源码
  • 用vs2012做网站首页涉密网络建设
  • 个人主题网站设计seo技术论坛
  • 做venn图的网站网页设计期末考试作品
  • 中英文网站怎么做外贸SOHO建公司网站
  • 展馆门户网站建设广告片制作公司
  • 周至做网站的公司百度推广开户免费
  • 网站建设百度认证机场建设集团网站
  • 建设网站要多久的时间app软件小程序网站建设
  • 营销网站重要特点是网站建设运维方案
  • 江西网站定制公司丰润区建设局网站
  • 手机网站制作费用合肥优化推广公司
  • 中国建设银行注册网站采购与招标网
  • 扬州住房和建设局网站江油市规划和建设局网站
  • 网站使用问题上海seo优化
  • 私人订制网站有哪些网站建设千套素材
  • 网站建设晋丰北京网站建设及优化
  • 东莞网站制作南城电商网站模板
  • 特色的佛山网站建设深圳勘察设计协会
  • 网站关键词重要性如皋网站制作
  • 河池市网站建设成都网站开发工资
  • 网站建设服务亿企网络十大现货交易平台排名
  • 邯郸大网站英文wordpress转中文乱码
  • 卖汽车的网站怎么做网站建设需要多少钱知乎
  • 苏州模板建站平台自助快速建站
  • 域名查询网ip郑州百度网站优化
  • 泉州网站建设 乐本园东昌府网站制作
  • 电子产品配件采购网站阿里云 虚拟主机 wordpress
  • 网站的电子手册用什么做的百度云搜索引擎官网
  • 网站代码隐蔽代码jsp网站开发pdf