Qt源码包中的一段代码
之所以单独拣出来是因为Qt的开发者们给普通开发者提供了高效编程的商业代码例子:
1 bool QWidget::testAttribute_helper(Qt::WidgetAttribute attribute) const 2 { 3 Q_D(const QWidget); 4 const int x = attribute - 8*sizeof(uint); 5 const int int_off = x / (8*sizeof(uint)); 6 return (d->high_attributes[int_off] & (1<<(x-(int_off*8*sizeof(uint))))); 7 }
另外,Qt中有类似.Net和JVM的垃圾收集机制,所以不由开发人员自己写析构。