{"id":27784517,"url":"https://github.com/shenxiaolong-code/code_note","last_synced_at":"2025-06-28T02:02:11.647Z","repository":{"id":290314077,"uuid":"973998760","full_name":"shenxiaolong-code/code_note","owner":"shenxiaolong-code","description":"record my code life (C++ ,  metaprogram, bath-automatic, ... )","archived":false,"fork":false,"pushed_at":"2025-04-28T07:35:12.000Z","size":105,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-28T02:02:10.738Z","etag":null,"topics":["batch-script","cpp","debugging","metaprogramming"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/shenxiaolong-code.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-04-28T05:32:02.000Z","updated_at":"2025-04-28T07:35:15.000Z","dependencies_parsed_at":"2025-04-30T14:28:14.019Z","dependency_job_id":null,"html_url":"https://github.com/shenxiaolong-code/code_note","commit_stats":null,"previous_names":["shenxiaolong-code/code_note"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/shenxiaolong-code/code_note","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shenxiaolong-code%2Fcode_note","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shenxiaolong-code%2Fcode_note/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shenxiaolong-code%2Fcode_note/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shenxiaolong-code%2Fcode_note/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/shenxiaolong-code","download_url":"https://codeload.github.com/shenxiaolong-code/code_note/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shenxiaolong-code%2Fcode_note/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262362035,"owners_count":23299117,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["batch-script","cpp","debugging","metaprogramming"],"created_at":"2025-04-30T14:28:13.393Z","updated_at":"2025-06-28T02:02:11.604Z","avatar_url":"https://github.com/shenxiaolong-code.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# Ⅰ 文章目录简介\n本目录收录了我在 C++ 泛型编程、基础语法、编译器问题、日常记录及常用特性等方面的原创笔记，涵盖了我本人学习到的各种技术细节和实用经验。\n- 其文章原始发表在中国大陆境内的 [CSDN](https://blog.csdn.net/Tonny0832?type=blog) 论坛，现在把它移植到 github上。\n- 关于我的工作经历，可以参见 [linkIn](https://www.linkedin.com/in/shenxiaolong/)。\n- 另外我会慢慢把我日常积累记录下来的100多万字的C++编程文档(本地存储的个人记录的笔记，未公开)逐渐整理公开在这儿(TODO)。\n- 由于使用爬虫脚本进行的自动转换，转换内容难免会一些问题(内容丢失或者不一致)，欢迎指出。（我会逐渐阅览并修正）。\n\n# Ⅱ 各子目录及代表性内容简介如下：\n\n## 01). my_metaprogram_lib ([github 源代码](https://github.com/shenxiaolong-code/MiniMPL))\n* 这个库原始编码起始于2011年，是为了在精减的Windows CE + VS2008(c++ 03)环境中，在没有STL支持的情况下，使用C++模板来简化/提高工作效率而写的。在后来的C++11中引入了可变模板参数后，这里面很用法已经可以抛弃了，但是其仍然是一个很好的借鉴用法(可以了解如何来用C++03的语法来实现C++11的模板语法功能)。\n* 主要介绍我写的 C++ 泛型元编程库 MiniMPL，包括类型特征、类型转换、函数对象、成员指针、统一容器接口、类型安全封装等，也是本人最擅长的C++编程技能之一。  \n* 每篇文章聚焦一个元编程组件，配有详细用法和设计思路，适合深入理解 C++ 模板与泛型编程。\n\n- [00_easy_use_stl_algorithm.md](01_my_metaprogram_lib/00_easy_use_stl_algorithm.md)：简化使用stl算法函数\n- [01_enhance_typeTraits.md](01_my_metaprogram_lib/01_enhance_typeTraits.md)：类型特征 typeTraits 的实现与应用\n- [02_typeConvert_function.md](01_my_metaprogram_lib/02_typeConvert_function.md)：类型转换 typeConvert 的通用方案\n- [03_pack_unary_binary_function.md](01_my_metaprogram_lib/03_pack_unary_binary_function.md)：一元/二元函数抽象\n- [04_unaryFunctionConverter.md](01_my_metaprogram_lib/04_unaryFunctionConverter.md)：多元函数转一元函数\n- [05_fetch_functionTraits.md](01_my_metaprogram_lib/05_fetch_functionTraits.md)：函数特征 functionTraits\n- [06_create_function_object.md](01_my_metaprogram_lib/06_create_function_object.md)：一元/二元函数对象创建\n- [07_placeHolder_type.md](01_my_metaprogram_lib/07_placeHolder_type.md)：占位符类型 placeHolder\n- [08_data_member_ptr.md](01_my_metaprogram_lib/08_data_member_ptr.md)：多级结构数据成员指针\n- [09_functionobject_MiniMPL.md](01_my_metaprogram_lib/09_functionobject_MiniMPL.md)：常用函数对象的泛型实现\n- [09_mathOperator_MiniMPL.md](01_my_metaprogram_lib/09_mathOperator_MiniMPL.md)：泛型数学运算符函数\n- [10_templated_ClassRegister.md](01_my_metaprogram_lib/10_templated_ClassRegister.md)：泛型工厂方法创建实例\n- [11_unified_container_interface.md](01_my_metaprogram_lib/11_unified_container_interface.md)：统一容器接口 DataSet\n- [12_CAnyObject.md](01_my_metaprogram_lib/12_CAnyObject.md)：类型安全的任意类封装\n- [13_delivery_parameter.md](01_my_metaprogram_lib/13_delivery_parameter.md)：参数适配 ParamterWrapper\n- [14_algorithm_based_on_object_size.md](01_my_metaprogram_lib/14_algorithm_based_on_object_size.md)：基于对象大小的算法\n- [15_callback_template_function.md](01_my_metaprogram_lib/15_callback_template_function.md)：回调模板函数/成员函数\n\n## 02). cpp_basic ([link](https://github.com/shenxiaolong-code/code_note/tree/main/02_cpp_basic))\nC++ 基础语法知识点的总结与实战分析。\n\n- [struct_alignment_rule.md](02_cpp_basic/struct_alignment_rule.md)：结构体对齐规则详解\n- [cpp_typeid_RTTI.md](02_cpp_basic/cpp_typeid_RTTI.md)：typeid 及 RTTI 机制\n- [internal_external_linkage.md](02_cpp_basic/internal_external_linkage.md)：内部/外部链接详解\n- [avoid_gen_large_objects.md](02_cpp_basic/avoid_gen_large_objects.md)：避免生成大对象的技巧\n- [namespace_internal.md](02_cpp_basic/namespace_internal.md)：命名空间与 internal 机制\n- [Lazy_unary_template_function.md](02_cpp_basic/Lazy_unary_template_function.md)：延缓求值的单参模板函数\n- [built_small_quick_app.md](02_cpp_basic/built_small_quick_app.md)：快速构建小型应用\n- [gen_and_test_NaN_INFINITE.md](02_cpp_basic/gen_and_test_NaN_INFINITE.md)：NaN/INFINITE 数值的生成与测试\n\n## 03). discuss ([link](https://github.com/shenxiaolong-code/code_note/tree/main/03_discuss))\n编译器相关问题、标准实现差异、实际开发中遇到的 bug 及其分析。\n\n- [gcc_compiler_limitation.md](03_discuss/gcc_compiler_limitation.md)：g++ 模板解析限制与标准讨论\n- [compiler_template_bug.md](03_discuss/compiler_template_bug.md)：模板相关的编译器 bug\n- [vs2008_compiler_bug.md](03_discuss/vs2008_compiler_bug.md)：VS2008 编译器的一个 bug 分析\n\n## 04). general_feature ([link](https://github.com/shenxiaolong-code/code_note/tree/main/04_general_feature))\n日常编程中，可能会用到的一些常用功能。如果你需要这些功能，可以直接从这儿复制，避免再自己手工造轮子。\n\n- [reverse_single_linked_list.md](04_general_feature/reverse_single_linked_list.md)：单向链表反转算法\n- [dump_callstack_by_sym_APIs.md](04_general_feature/dump_callstack_by_sym_APIs.md)：Windows 下符号 API 导出调用栈\n- [compile_time_assert_function.md](04_general_feature/compile_time_assert_function.md)：编译期断言函数\n- [windows_use_timezone.md](04_general_feature/windows_use_timezone.md)：Windows 时区遍历代码\n- [left_right_shift_string.md](04_general_feature/left_right_shift_string.md)：字符串左移/右移算法\n\n## 05). daily_record ([link](https://github.com/shenxiaolong-code/code_note/tree/main/05_daily_record))\n日常流水帐，作不得数，怡笑方家。\n\n- [coder_question.md](05_daily_record/coder_question.md)：C/C++/Java 程序员的追求\n- [study_java.md](05_daily_record/study_java.md)：Java 学习笔记\n\n# Ⅲ 移植记录\n## port_record.md\n本文记录移植时所有文章在原始[CSDN](https://blog.csdn.net/Tonny0832?type=blog) 上对应的链接，便于快速查找和导航。\n\n---\n\n如需详细内容，请查阅各子目录下的具体文章。 ","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshenxiaolong-code%2Fcode_note","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fshenxiaolong-code%2Fcode_note","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshenxiaolong-code%2Fcode_note/lists"}