开发环境VS2005(VC8)
#include <iostream>
#include <vector>
using namespace std ;
#include <time.h>
#define ULONG unsigned long
//干扰数的意义
//当要连续调用rand的时候,几个rand关联性太强,可以rand()+干扰数
class IGanRaoShu //干扰数,取一个数,分布没有任何规律,可以重复。配合随机数,防止随机数规律过强。
{
public:
virtual ULONG GetGanRao()= 0;
};
class CGanRaoShu : public IGanRaoShu
{
public:
typedef long (* GANRAO_FUN)() ;
CGanRaoShu()
{
m_iPos = 0 ;
};
ULONG GetGanRao()
{
if( 0 == m_pFuns.size() )
return 0;
m_iPos = ( m_iPos + 1 ) % m_pFuns.size();
return m_pFuns[m_iPos]();
};
void AddGanRaoFun(GANRAO_FUN pFun)
{
m_pFuns.push_back(pFun);
};
protected:
std::vector<GANRAO_FUN> m_pFuns;
int m_iPos ;
};
long GetCurTime()
{
return time(NULL);
}
void main()
{
CGanRaoShu g ;
g.AddGanRaoFun(clock);
g.AddGanRaoFun(GetCurTime);
for( int i = 0 ; i < 100 ; i++ )
{
cout << g.GetGanRao() << endl;
}
}
2021年目标:完成新书《闻缺陷则喜》,本博客右上公告有下载、阅读链接。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~