路遥见人心,日久知马力

博客园 首页 新随笔 联系 订阅 管理

2022年11月3日 #

摘要: 上图所示的代码都是正确的、并且能够按正常人的预期执行。 首先提示一点、C++要用类名调用静态函数或者引用变量时、不是像Java一样用点号、而是用两个冒号! 错误例子1:不写第 13 行的代码、以为编译器会自动给静态成员赋 0、实际上根本都不能运行: 错误例子2: 以为和Java一样能直接写在类里面: 阅读全文
posted @ 2022-11-03 22:01 只讲大白话 阅读(45) 评论(0) 推荐(0)

摘要: 如下所示:如果在 foo 里、定义类型别名、枚举、内部类、并且它们都处于public范围内、那么外部是可以用 类名:: 这种方式去拿到 foo类里面定义的东西的 但是、如果写成private,那么就可以把这些定义都隐藏起来、这样就完成了类作用域下的信息隐藏(两个冒号是作用域运算符!): 阅读全文
posted @ 2022-11-03 18:23 只讲大白话 阅读(25) 评论(0) 推荐(0)

摘要: 1. 作用: 都是修饰函数 2. 含义:明确指出函数的参数在调用时以什么顺序压栈! 3. 范例: 右键打个断点、然后执行、进入反汇编: 7E7h指的就是 2023 字面量、h表示这是个十六进制数。 可以看出两者是一样的。 阅读全文
posted @ 2022-11-03 18:11 只讲大白话 阅读(70) 评论(0) 推荐(0)

摘要: 如上所示、想完成加法操作有两种写法 一种是用一个模板、一种是用两个参数 虽然功能上差不多、但其中的区别还是有的: 函数调用时要把压栈 而模板里的东西只会被实例化到不同的函数中!也就是变成了汇编代码的一部分。 阅读全文
posted @ 2022-11-03 18:02 只讲大白话 阅读(29) 评论(0) 推荐(0)

摘要: 1 #include <iostream> 2 #include<string> 3 4 namespace str_utils { 5 6 std::string to_string(const char* c_str) { 7 std::cout << "调用了 cstr" << std::en 阅读全文
posted @ 2022-11-03 17:29 只讲大白话 阅读(1048) 评论(0) 推荐(0)

摘要: 有普通函数、总是会先调普通的函数、如上图、鼠标停在 foo(3.0)上时会有一个对于普通函数的高亮 如果没普通函数、而是有特化、那么会调用特化: 总结: 编译器总是尽可能的调用特化的!越泛化优先级就越低。实在不确定调的是哪个函数可以用 ctrl 加 左键点进去看看! 阅读全文
posted @ 2022-11-03 17:14 只讲大白话 阅读(42) 评论(0) 推荐(0)