C++ 中测试程序运行时间的方法

GetTickCount()函数

原理: GetTickCount()是获取系统启动后的时间间隔。通过进入函数开始定时,到退出函数结束定时,从而可以判断出函数的执行时间(单位ms),这种时间也并非是函数或者算法的真实执行时间,因为在函数和算法线程不可能一直占用CPU,对于所有判断执行时间的函数都是一样,不过基本上已经很准确,可以通过查询进行定时。注意:GetTickCount()精确度有限,跟CPU有关,一般精确度在16ms左右,最精确也不会精确过10ms。

C# 给picturebox添加滚动条

1.将picturebox放在panel上;

2.将panel的AutoScroll设置为ture;

3.将picturebox的SizeMode设置为AutoSize;

C++ 数值转换库 Boost.lexical_cast

Boost组件lexical_cast

字符串→数值

经常看到有人询问如何在字符串类型和数值类型间进行转换的问题,也看到了许多不同的答案。下面先讨论一下从字符串类型到数值类型的转换。

  • 如何将字符串"123"转换为int类型整数123?答案是,用标准C的库函数atoi;
  • 如果要转换为long类型呢?标准C的库函数atol;
  • 如何将"123.12"转换为double类型呢?标准C的库函数atod;
  • 如果要转换为long double类型呢?标准C的库函数atold;
  • ……

后来有朋友开始使用标准库中的string类,问这个如何转换为数值?有朋友答曰,请先转换为const char*。我很佩服作答者有数学家的思维:把陌生的问题转化成熟悉的问题。(曾经有一则笑话,好事者问数学家:知道如何烧水吗?答:知道。把水壶加满水,点火烧。又问:如果水壶里已经有水了呢?答:先倒掉,就转化为我熟悉的问题了……)