随笔分类 - C++
摘要:double getAverage(const std::vector<double>& data) { double avg = 0; for (size_t i = 0; i < data.size(); ++i) { avg = avg + (data[i] - avg) /(i + 1.0)
阅读全文
摘要:std::string bytes2string(const char* bytes, const int length) { std::stringstream ss; ss << "\n"; for (int i = 0; i < length; ++i) { ss << std::hex <<
阅读全文
摘要:Pimpl(Pointer to implementation)是一种C++编程技术,用于将类的实现细节与其接口分离。通常情况下,类的实现细节会暴露在类的头文件中,这会增加代码的复杂性并使得类的修改和维护变得困难。使用Pimpl技术,可以在类的头文件中只暴露必要的接口,而将具体实现细节放在单独的实现
阅读全文
摘要:template<typename T> class Singleton { public: static T& GetInstance() { static T instance; return instance; } virtual ~Singleton() { } Singleton(cons
阅读全文
摘要:std::vector<std::pair<CTime, CTime>> YearOfWeek(int year) { std::vector<std::pair<CTime, CTime>> weekInfo; weekInfo.reserve(60); CTime time(year, 1, 1
阅读全文
摘要:程序调用CreateProcess总是报非法访问,类似这样调用: BOOL fSuccess = CreateProcess(NULL, command, NULL, NULL, TRUE, CREATE_NEW_CONSOLE, NULL, NULL, &si, &pi); 调了半天不知道什么原因
阅读全文
摘要:最近发生了一件有意思的事,MFC工程中有一个CEdit控件,控件绑定了一个double变量,当double变量的值变化时通过UpdateData可以直接展示到控件上。然后,有一个CListCtrl,需要将CEdit的值做展示。重点来了,当CEdit的值较小时,一切都很正常,当CEdit值比较大时或者
阅读全文
摘要:void GetAllItemData(const CTreeCtrl& tree, HTREEITEM hItem, map<HTREEITEM,DWORD_PTR>& itmData) { if (NULL == hItem) { return ; } itmData.insert(make_p
阅读全文
摘要:template <typename T>//先声明模板参数 T void RemoveSameElement1(vector<T>& v) { std::unordered_set<T> existed; for (auto iter = v.begin(); iter != v.end();)
阅读全文
摘要:这篇文章和上一篇有关,顺便记录下来,也方便自己以后查看 1、定义变量 CMFCToolTipInfo用于设置提示框的外观等 class CTestDlg : public CDialogEx { DECLARE_DYNAMIC(CTestDlg) public: CTestDlg(CWnd* pPa
阅读全文
摘要:最近项目中使用到MFC,由于工程是DLL的,在使用ToolTip时碰到非模态对话框无法显示的问题。查了一番资料,发现原因是由于:虽然MFC Regular DLL派生了CWinApp类,并有一个theApp全局对象。但它不包含CWinApp::Run机制,主消息由exe负责接收、分发,导致DLL的P
阅读全文
摘要:UGOPEN函数UF_MODL_dissect_exp_string可以解析表达式,但是当表达式存在附注信息时,会将附注信息附加在 rhs_str上,例如: 这样,当单独获取附注信息时还需要拆分字符串,比较麻烦.其次该函数封装的不好,需要传入表达式TAG和表达式字符串,明显多此一举 针对此问题,我重
阅读全文
摘要:Windows提供了非常好用的方法SHFileOperation,而且功能强大, 不光可以拷贝,还有移动、删除等等操作。直接上代码: 1 void CopyFolder(TCHAR* srcFolder, TCHAR* dstFolder) 2 { 3 SHFILEOPSTRUCT fop = {0
阅读全文