首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
AI面试、笔试、校招、雇品
HR免费试用AI面试
最新面试提效必备
登录
/
注册
IT技术小密圈
字节跳动_基础架构_后台开发
获赞
172
粉丝
27
关注
5
看过 TA
26
男
西南科技大学
2018
C++
IP属地:四川
致力于为初中级程序员提供实用的编程技巧、经验分享
私信
关注
拉黑
举报
举报
确定要拉黑IT技术小密圈吗?
发布(280)
评论
刷题
收藏
IT技术小密圈
关注TA,不错过内容更新
关注
2019-08-18 13:40
已编辑
字节跳动_基础架构_后台开发
《More Effective C++》 4: 非必要不提供默认构造函数
在某个没有默认构造函数的类 class Object中,会在下面三种情况出现问题: 1、产生数组,由于在一般情况下,没有办法为数组提供构造函数的参数,因此,会出现各种问题。 #include <iostream> using namespace std; class Object { public: Object(int ID) { //... ... } //... ... }; int main() { Object objs[100]; //报错: 没有合适的默认构造函数可用 Object* objs = new Object[100]; //报错: 没有合适的默认构造函数可...
0
点赞
评论
收藏
分享
2019-08-18 13:39
已编辑
字节跳动_基础架构_后台开发
《Effective C++》42: 了解 typename 的双重意义
在 t下面 template 声明式中,class 和 typename 意义完全相同。 template <class T> class Widget; template <typename T> class WIdget; 然而 C++ 并不总是把 class 和 typename 视为等价。 有时候,我们一定得使用typename。 一般来说,在缺省状态下,C++解析器认为在 template 中的嵌套从属名称是个变量,而不是个类型。 如果要告诉解析器,T::const_iterator 是一个类型,只需要在它之前加一个关键字: typename即可。 如: ...
0
点赞
评论
收藏
分享
2019-08-18 13:39
已编辑
字节跳动_基础架构_后台开发
《Effective C++》41: 了解隐式接口和编译期多态
面向对象编程世界总是以显式接口(explicit interfaces)和运行期多态(runtime polymorphism)解决问题。 例如: class Computer { public: virtual void CpuRun() { //...... } //... }; Computer类的对象必定含有CpuRun()接口,它在源代码中是可见的,因此它是显式接口。 由于该函数是virtual函数,因此该函数的实现可能会出现运行期多态,也就是具体的函数实现由运行期的情况而定。 在Template及泛型编程的世界,显式接口和运行期多态的重要性降低。 在这个世界中,隐式接口(imp...
0
点赞
评论
收藏
分享
2019-08-18 13:40
已编辑
字节跳动_基础架构_后台开发
《Effective C++》 40:明智而审慎地使用多重继承
注:审慎,指周密而慎重。 多重继承(multiple inheritance; MI),单一继承(single inheritance; SI) 在多重继承下,由于子类可能继承自多个父类的相同名称(如函数名),因此会导致较多的歧义。 如下面这段代码: #include <iostream> using namespace std; //名词 class Noun { public: //做主语 void Subject() { cout << "I can be a subject directly." << endl; } }; //动...
0
点赞
评论
收藏
分享
2019-08-18 13:40
已编辑
字节跳动_基础架构_后台开发
《Effective C++》37: 绝不重新定义继承而来的缺省的参数值
动态绑定(dynamically bound)又名前期绑定(early binding),静态绑定(statically bound)又名后期绑定(late binding)。 所谓静态绑定是指在程序编译过程中,把函数(方法或者过程)调用与响应调用所需的代码结合的过程称之为静态绑定。 动态绑定是指在执行期间(非编译期)判断所引用对象的实际类型,根据其实际的类型调用其相应的方法 除了限制访问, 访问方式也决定哪个方法将被子类调用或哪个属性将被子类访问. 函数调用与函数本身的关联, 以及成员访问与变量内存地址间的关系,称为绑定.动态绑定则针对运行期产生的访问请求,只用到运行期的可用信息. 在...
0
点赞
评论
收藏
分享
2019-08-18 13:40
已编辑
字节跳动_基础架构_后台开发
《Effective C++》36:绝不重新定义继承而来的non-virtual函数
请看下面这段代码: #include <iostream> using namespace std; class Base { public: void Show() { cout << "I'm Base::Show()." << endl; } }; class Derive : public Base { public: //遮盖了 Base::Show(); void Show() { cout << "I'm Derive::Show()." << endl; } }; int mai...
0
点赞
评论
收藏
分享
2019-08-18 13:40
已编辑
字节跳动_基础架构_后台开发
《Effective C++》35:考虑virtual函数以外的其他选择
1、借由 Non-Virtual Interface(NVI) 手法实现 Template Method 模式 NVI手法将虚函数作为private的,然后用非虚函数作为接口来调用这个虚函数。这样就把虚函数封装起来了。 如: //令客户通过调用public的非虚函数间接地调用private的虚函数。 class Widget { public: //这种作为虚函数与外界的交接的函数,被Scott Meyers称为virtual函数的外覆器(wrapper) void Draw() //派生类不重新定义这个函数 { ... // Do something... DoDraw()...
0
点赞
评论
收藏
分享
2019-08-18 13:40
已编辑
字节跳动_基础架构_后台开发
《C++ primer plus》:类的自动转换和强制类型转换
在C/C++编程中,经常会遇到类型转换的情况。C/C++内置类型允许兼容的类型相互转化。如: float x = 1.23; //将double1.23转化为int double y = 22; //将int 22 转化为double 当然,某些不兼容的类型是不能直接相互转换的。如:虽然地址也是用整数表示的,但是从概念上来讲,整数和地址是两码事,因此它们之间的相互转换是非法的: int * ptr = 10010; //错误;类型冲突 不过,我们可以用强制转换来直接为将指针设为地址10010: int * ptr = (int *) 10010; //正确; 对于Cat类我们给以定义如下: ...
0
点赞
评论
收藏
分享
2019-08-18 13:40
已编辑
字节跳动_基础架构_后台开发
《Effective C++》18: 让接口容易被正确使用,不易被误用
/* * * 让接口容易被正确使用,不易被误用 * * 所谓软件设计,是 “令软件做出你希望它做的事情“ 的步骤和方法, * 通常以颇为一般性的构想开始,最终演变成十足的细节,以允许特殊 * 接口的开发 ————— 侯捷译《Effective C++》 * * 理想上,如果客户企图使用某个接口而却没有获得他所预期的行为, * 这个代码就不应该通过编译。 也就是说,一旦代码通过了编译,那么, * 它的作为就该是客户所想的。 ————— 侯捷译《Effective C++》 * * 想开发出一个 ”容易被正确使用, 不容易被误用“ 的接口,首先必须考虑 * 客户可能做出什么样的错误。 ————— ...
0
点赞
评论
收藏
分享
2019-08-18 13:40
已编辑
字节跳动_基础架构_后台开发
关于C++的cout输出小数的精度控制
最近在写一个模拟的裁判评分程序,涉及到分数的精度和输出格式问题,特总结如下: 代码背景: #include <iostream> using namespace std; float num = 1.25; 1、设置对齐方式(如:右对齐,ios::right): cout.setf(ios::right); // 设置对齐方式 cout << num << endl;;效果(不明显,当数字长度小于输出宽度的时候才能看出效果,如2所示): 2、将数字输出宽度设置为8: cout.setf(ios::right); // 设置对齐方式 cout.width(8...
0
点赞
评论
收藏
分享
1
14
15
16
17
18
19
创作者周榜
更多
关注他的用户也关注了:
牛客网
牛客网在线编程
牛客网题解
牛客企业服务