`
w1shi2wei3
  • 浏览: 11857 次
社区版块
存档分类
最新评论
文章列表
基于C++的大型系统的设计实现中,由于缺乏语言级别的GC支持,资源生存周期往往是一个棘手的问题。系统地解决这个问题的方法无非两种:   使用GC库使用引用计数   严格地说,引用计数其实也是一种最朴素的GC。相对于现代的GC技术,引用计数的实现简单,但相应地,它也存在着循环引用和线程同步开销等问题。关于这二者孰优孰劣,已经有过很多讨论,在此就不搅这股混水了。我一直也没有使用过C++的GC库,在实际项目中总是采用引用计数的方案。而作为Boost的拥趸,首选的自然是shared_ptr。一直以来我也对shared_ptr百般推崇,然而最近的一些项目开发经验却让我在shared_ptr上栽了坑,对C+ ...

Qt中xml的读写

    博客分类:
  • QT
我们可以看到,如果所要读取的XML文件不是很大,采用DOM读取方法还是很便捷的,由于我用的也是DOM树读取的方法,所以,本文所介绍的也主要是基于DOM的方法读取。 (来自http://blog.sina.com.cn/s/blog_4ac0a0d30100mr53.html) 根据常用的 ...
首先呢,声明一下,QString 是不存在中文支持问题的,很多人遇到问题,并不是本身 QString 的问题,而是没有将自己希望的字符串正确赋给QString。 很简单的问题,"我是中文"这样写的时候,它是传统的 char 类型的窄字符 ...
这是一篇程序员写给程序员的趣味读物。所谓趣味是指可以比较轻松地了解一些原来不清楚的概念,增进知识,类似于打RPG游戏的升级。整理这篇文章的动机是两个问题: 问题一: 使用Windows记事本的“另存为”,可以在GBK、Uni ...
1. ASCII码 我们知道,在计算机内部,所有的信息最终都表示为一个二进制的字符串。每一个二进制位(bit)有0和1两种状态,因此八个二进制位就可以组合出256种状态,这被称为一个字节(byte)。也就是说,一个字节一共可以用来表示256种不同的状态,每一个状态对应一个符号,就是256个符号,从0000000到11111111。 上个世纪60年代,美国制定了一套字符编码,对英语字符与二进制位之间的关系,做了统一规定。这被称为ASCII码,一直沿用至今。 ASCII码一共规定了128个字符的编码,比如空格“SPACE”是32(二进制00100000),大写的字母A是65(二进制010000 ...

QT编码设置问题

    博客分类:
  • c
    //通常在windows环境下,对于中文编码,需要在main.cpp中加上以下几行代码:     QTextCodec *gbk = QTextCodec::codecForName("gb18030");     QTextCodec::setCodecForTr(gbk);  // 设置传给tr函数时的默认字符串编码,GUI设计中最常用的一种     QTextCodec::setCodecForLocale(gbk); // 设置对本地文件系统读写时候的默认编码格式,比如读取文件或qDebug()打印输出信息时     QTextCodec::setCodecF ...
一 预备知识 1,字符:字符是抽象的最小文本单位。它没有固定的形状(可能是一个字形),而且没有值。“A”是一个字符,“€”(德国、法国和许多其他欧洲国家通用货币的标志)也是一个字符。“中”“国”这是两个汉 ...
今天研究了一下c语言中赋值语句的简单机理。 例如 unsigned char ch= -127; 打印出ch的值为:129. 我对该值的理解是这样的: 在编译器编译这句话时,将-127这个立即数转换为对应的补码:(二进制)10000001 【过程:-127--符号位+原码-->11111111----符号位不变,源码取反加1--->10000001】 编译器同时将该补码保存在符号ch对应的字节存储空间中。当打印该变量时,因为是unsigned char类型,于是将10000001解读成一个无符号的数字,即129。 同理,char ch=255;打印ch时值为-1。
Global site tag (gtag.js) - Google Analytics