随笔分类 -  C/C++

摘要:C++ 与 Visual Studio 2019 和 WSL (库组件) Reference 在 C++ 项目中使用库和组件 | Microsoft Docs 演练:创建和使用自己的动态链接库 (C++) | Microsoft Docs 演练:创建并使用静态库 (C++) | Microsoft 阅读全文
posted @ 2021-07-05 00:07 ltimaginea 阅读(126) 评论(0) 推荐(0)
摘要:预处理器定义 预定义宏 | Microsoft Docs /D(预处理器定义) | Microsoft Docs 🤦‍♀️ Microsoft 专用预定义宏 MSVC 支持以下预定义宏: _WIN32:当编译目标为 32 位 ARM、64 位 ARM、x86 或 x64 时,定义为 1。 其他情况 阅读全文
posted @ 2021-06-25 22:59 ltimaginea 阅读(1749) 评论(0) 推荐(0)
摘要:fpic 和 fPIC 区别 Code Gen Options (Using the GNU Compiler Collection (GCC)) 综下所述,生成适用于共享库的位置无关代码(PIC)时,为了避免对全局偏移表(GOT)的大小进行任何限制,还是使用 -fPIC 参数吧。 Code Gen 阅读全文
posted @ 2021-06-19 23:41 ltimaginea 阅读(539) 评论(0) 推荐(0)
摘要:头文件 如果不小心修改了 Linux C/C++ 标准库头文件,可以下面这样操作进行恢复: 项目 → 重新扫描解决方案 阅读全文
posted @ 2021-06-19 14:34 ltimaginea 阅读(115) 评论(0) 推荐(0)
摘要:终端 A more integrated terminal experience | Visual Studio Blog (microsoft.com) Say hello to the new Visual Studio terminal! | Visual Studio Blog (micro 阅读全文
posted @ 2021-06-19 12:45 ltimaginea 阅读(406) 评论(0) 推荐(0)
摘要:Visual Studio CMake 项目和 WSL https://devblogs.microsoft.com/cppblog/c-with-visual-studio-2019-and-windows-subsystem-for-linux-wsl/ https://docs.microso 阅读全文
posted @ 2021-06-12 18:10 ltimaginea 阅读(600) 评论(0) 推荐(0)
摘要:Visual Studio 使用 C++ 的 Linux 开发(WSL) https://devblogs.microsoft.com/cppblog/c-with-visual-studio-2019-and-windows-subsystem-for-linux-wsl/ 其大致原理是:“ Vi 阅读全文
posted @ 2021-06-12 15:04 ltimaginea 阅读(880) 评论(0) 推荐(0)
摘要:Visual Studio 安装 C++ 阅读全文
posted @ 2021-06-11 23:08 ltimaginea 阅读(131) 评论(0) 推荐(0)
摘要:Visual Studio 2017 C++控制台应用程序, 如果编译时发现黑框一闪而过,请按以下步骤操作: 右键project → 属性 → 链接器 → 系统 → 子系统,在下拉菜单中改为控制台。 阅读全文
posted @ 2021-06-11 22:26 ltimaginea 阅读(983) 评论(0) 推荐(0)
摘要:![](https://img2020.cnblogs.com/blog/2141093/202012/2141093-20201213202735216-1211230715.png) ![](https://img2020.cnblogs.com/blog/2141093/202012/2141093-20201213202759742-702385138.png) 阅读全文
posted @ 2020-12-13 20:28 ltimaginea 阅读(42) 评论(0) 推荐(0)
摘要:#include <iostream> using namespace std; class CBase { public: int i; void func1() {} }; class CDerived :public CBase { public: virtual void func2() { 阅读全文
posted @ 2020-12-12 23:38 ltimaginea 阅读(472) 评论(0) 推荐(0)
摘要:![](https://img2020.cnblogs.com/blog/2141093/202012/2141093-20201212232855543-1324526493.png) 阅读全文
posted @ 2020-12-12 23:29 ltimaginea 阅读(44) 评论(0) 推荐(0)
摘要:#include <iostream> using namespace std; class A { public: virtual void Print() { cout << "A::Print" << endl; } }; class E :public A { //public: /* 即使 阅读全文
posted @ 2020-11-30 00:33 ltimaginea 阅读(57) 评论(0) 推荐(0)
摘要:在有多个文件的 C++ 程序中,如果多个 .cpp 文件都用到同一个类,可以将类的定义写在一个头文件中,然后在各个 .cpp 文件中包含该头文件。 类的非内联成员函数的函数体只能出现在某一个.cpp 文件中,不能放在头文件中被多个.cpp 文件包含,否则链接时会发生重复定义的错误。 类的内联成员函数 阅读全文
posted @ 2020-11-17 23:40 ltimaginea 阅读(354) 评论(0) 推荐(0)
摘要:#include <iostream> using namespace std; inline int Max(int a, int b) { if (a > b) return a; else return b; } int main() { cout << Max(23, 5) << endl; 阅读全文
posted @ 2020-11-17 23:35 ltimaginea 阅读(99) 评论(0) 推荐(0)
摘要:函数返回值为 const 指针,可以使得外部在得到这个指针后,不能修改其指向的内容。返回值为 const 引用同理。 class CString { private: char* str; public: const char* c_str() const; }; const char* CStri 阅读全文
posted @ 2020-11-17 23:26 ltimaginea 阅读(310) 评论(0) 推荐(0)
摘要:完整程序见: C++ 浅拷贝 深拷贝 没有经过重载,"=" 的作用就是把左边的变量变得和右边的相等,即执行逐个字节拷贝的工作,对于指针变量,会使得两个指针指向同一个地方,这样的拷贝就叫做“浅拷贝”。 将一个指针变量指向的内容复制到另一个指针变量指向的地方,这样的拷贝就叫做“深拷贝”。 class C 阅读全文
posted @ 2020-11-17 23:22 ltimaginea 阅读(147) 评论(0) 推荐(0)
摘要:在 C++ 中进行运算符重载时的注意事项: 运算符重载的实质是将运算符重载为一个函数,使用运算符的表达式就被解释为对“运算符函数”的调用。 运算符可以被重载为全局函数,也可以被重载为成员函数。一般来说,倾向于将运算符重载为成员函数,这样能够较好地体现运算符和类的关系。 运算符被重载为全局函数时,函数 阅读全文
posted @ 2020-11-17 23:19 ltimaginea 阅读(83) 评论(0) 推荐(0)
摘要:不同派生方式下基类成员在派生类中的可访问范围属性 派生方式 派生方式 派生方式 基类成员 公有派生 私有派生 保护派生 私有成员 不可访问 不可访问 不可访问 保护成员 保护 私有 保护 公有成员 公有 私有 保护 举一个例子说明该表的解读方法:第五行第三列说明,基类的公有成员经过私有派生后,在派生 阅读全文
posted @ 2020-11-17 22:58 ltimaginea 阅读(452) 评论(0) 推荐(0)
摘要:class CBase { private: int nPrivate; // 私有成员 public: int nPublic; // 公有成员 protected: int nProtected; // 保护成员 }; class CDerived :public CBase { void Ac 阅读全文
posted @ 2020-10-24 09:44 ltimaginea 阅读(141) 评论(0) 推荐(0)