免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 25908 | 回复: 70

[C++] 。。。。。。 [复制链接]

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
发表于 2012-08-08 09:55 |显示全部楼层
本帖最后由 群雄逐鹿中原 于 2014-12-07 18:37 编辑

自我评价一下!
单选投票, 共有 278 人参与投票
您所在的用户组没有投票权限

论坛徽章:
59
2015年亚洲杯之约旦
日期:2015-01-27 21:27:392015年亚洲杯之日本
日期:2015-02-06 22:09:41拜羊年徽章
日期:2015-03-03 16:15:432015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:50:282015元宵节徽章
日期:2015-03-06 15:50:392015年亚洲杯之阿联酋
日期:2015-03-19 17:39:302015年亚洲杯之中国
日期:2015-03-23 18:52:23巳蛇
日期:2014-12-14 22:44:03双子座
日期:2014-12-10 21:39:16处女座
日期:2014-12-02 08:03:17天蝎座
日期:2014-07-21 19:08:47
发表于 2012-08-08 10:05 |显示全部楼层
88%

because i have other thing to do.
and no more time to master c++, amen.

论坛徽章:
275
射手座
日期:2013-08-23 12:04:38射手座
日期:2013-08-23 16:18:12未羊
日期:2013-08-30 14:33:15水瓶座
日期:2013-09-02 16:44:31摩羯座
日期:2013-09-25 09:33:52双子座
日期:2013-09-26 12:21:10金牛座
日期:2013-10-14 09:08:49申猴
日期:2013-10-16 13:09:43子鼠
日期:2013-10-17 23:23:19射手座
日期:2013-10-18 13:00:27金牛座
日期:2013-10-18 15:47:57午马
日期:2013-10-18 21:43:38
发表于 2012-08-08 10:15 |显示全部楼层
没精力去掌握全部,反正也够用了

论坛徽章:
0
发表于 2012-08-08 10:43 |显示全部楼层
本帖最后由 gtkmm 于 2012-08-08 13:37 编辑

没个标准...

我提几个试试:

1.  基本类型:        各种类型是怎么进行默认转换的, ( )强制转换和各种cast都有什么区别,  编译器如何对齐, pack和align是什么东西

2. 运算符:             所有运算符的优化级都弄明白了么?  什么能重载,什么不能重载, 什么能运算符不会自动继承交类?
                              template<typename A, typename B> operator+(const A&, const B&); 这样的全通用运算符重载, 会能重载哪些类型?

3. class:               虚函数表是怎么回事? this指针存在object的哪个位置?  多继承是怎么实现的?

4. stl:                    是否知道stl里所有容器的各种操作效率和占用空间大小?  stl里的算法可否精通? 删除一个容器里符合某个条件的元素,怎么实现?

5. iostream:       这东西搞明白么?   各种格式操作符都会用么?  自己会扩展格式操作符么?  如何给一个tcp描述符用上iostream?

6. template:       模块玩明白了么?  能否实现这个宏:       bop_type(A, op , B), 这个宏会得到A与B运算的类型,比如:  bop_type(int, +, double)会得到double

7. type traits:     如何在编译时判断类型A是否是一个class, 如何判断A是否继承B? 如何判断A是否是一个整形?

8. c++11:           lamda玩得转么?  tuple类是怎么实现的?  知道有变长模版参数列表么, 用这个实现个printf如何?   shared_ptr, weak_ptr这些东西怎么用,怎么实现的?

9. boost:           enable_if怎么实现的, 什么原理?

10. compiler:    你发现了几个编译器bug?

论坛徽章:
0
发表于 2012-08-08 11:13 |显示全部楼层
gtkmm 发表于 2012-08-08 10:43
没个标准...

我提几个试试:


唉   学C++也有一年了,发现没几个能答上来...............................{:3_201:}

论坛徽章:
2
程序设计版块每日发帖之星
日期:2015-06-17 22:20:00每日论坛发贴之星
日期:2015-06-17 22:20:00
发表于 2012-08-08 13:10 |显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
1
射手座
日期:2013-08-21 13:11:46
发表于 2012-08-08 13:13 |显示全部楼层
哎,学C++也有几年,现在也就略微能看懂一点

论坛徽章:
2
操作系统版块每日发帖之星
日期:2015-08-05 06:20:0015-16赛季CBA联赛之北控
日期:2019-02-13 22:56:03
发表于 2012-08-08 15:12 |显示全部楼层
我只是知道c++,几年了,完全不是c++是什么代码,用在,计算机编程还是用于机器人或者可控制的机器

论坛徽章:
0
发表于 2012-08-08 17:24 |显示全部楼层
1.  基本类型:        各种类型是怎么进行默认转换的, ( )强制转换和各种cast都有什么区别,  编译器如何对齐, pack和align是什么东西

implicit conversion 包含最多三组转换:1.standard sequence,2.userdefined conversion(对象构造和转换重载),3. standard sequence again。其中standard sequence又最多包含三次转换:1.特定类型定向转换(e.g.lvalue to rvalue, array or function to pointer),2. 数学类型和指针之间的转换,3. const、volatile.

() 按照1. const_cast, 2. static_cast (+const_cast), 3. reinterpret_cast (+const_cast) 的顺序尝试进行,哪个行得通就用哪个。

#pragma 是implement defined,得分情况考虑。

2. 运算符:             所有运算符的优化级都弄明白了么?  什么能重载,什么不能重载, 什么能运算符不会自动继承交类?
                              template<typename A, typename B> operator+(const A&, const B&); 这样的全通用运算符重载, 会能重载哪些类型?

我只记得 . sizeof 不能被重载,其他的好像都可以重载。“什么能运算符不会自动继承交类?”这个没看懂。

后面这个涉及到 parameterized name lookup,简单来说,可以implicitly convert to const A & or const B &的都可以被这个重载,前提是位置和类型要对应。

3. class:               虚函数表是怎么回事? this指针存在object的哪个位置?  多继承是怎么实现的?

虚函数表虽然被大多数编译器使用,但是貌似不属于标准。其他能够达到多态效果的方案也可以用在虚函数身上。this 指向“所属类型”的首地址,多继承情况下也不例外。多继承还有虚拟继承的东西太复杂,一言难尽。

4. stl:                    是否知道stl里所有容器的各种操作效率和占用空间大小?  stl里的算法可否精通? 删除一个容器里符合某个条件的元素,怎么实现?

这个和容器的数据结构对应一下就行了

关联容器一般自己提供erase,非关联容器用 std::remove_if + std::erase。

5. iostream:       这东西搞明白么?   各种格式操作符都会用么?  自己会扩展格式操作符么?  如何给一个tcp描述符用上iostream?

格式操作符就是一函数(指针),原型是 void () (ostream &)

socket 和 fd 是一个东西,这算不算一个思路?

6. template:       模块玩明白了么?  能否实现这个宏:       bop_type(A, op , B), 这个宏会得到A与B运算的类型,比如:  bop_type(int, +, double)会得到double

直观想法应该是获得 A() + B() 这个表达式的类型,但是C++03标准下,好像没有手段实现C++11的decltype这个功能。也就是说,可以用这个表达式的类型声明新的变量或者函数,但是没办法把这个类型单独提取出来。至于给每个类型绑定一个编号,然后通过编号来反向获取类型,太麻烦了,估计也之后boost这种重量级的库可以实现了。

7. type traits:     如何在编译时判断类型A是否是一个class, 如何判断A是否继承B? 如何判断A是否是一个整形?
9. boost:           enable_if怎么实现的, 什么原理?

这些都是通过让模板的nested type推导出错,导致编译器直接将重载函数之一排除出局,从而做出选择。

8. c++11:           lamda玩得转么?  tuple类是怎么实现的?  知道有变长模版参数列表么, 用这个实现个printf如何?   shared_ptr, weak_ptr这些东西怎么用,怎么实现的?

C++11的标准很少使用。想来就算把lambda的代码写出花来,本质也就是个function object,语法奇特一点,语义没啥新意。
这个printf有变长模板参数的支持就好办了。用tuple或者typelist都可以。
本人不喜欢使用*_ptr这些东西。

10. compiler:    你发现了几个编译器bug?

这个很难。我给gcc写个pass,然后找到我自己写的这个pass的bug算不算?呵呵。

论坛徽章:
2
青铜圣斗士
日期:2015-11-26 06:15:59数据库技术版块每日发帖之星
日期:2016-07-24 06:20:00
发表于 2012-08-08 17:26 |显示全部楼层
回复 4# gtkmm

运算符优先级给跪了。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

SACC2019中国系统架构师大会

【数字转型 架构演进】SACC2019中国系统架构师大会,7折限时优惠重磅来袭!
2019年10月31日~11月2日第11届中国系统架构师大会(SACC2019)将在北京隆重召开。四大主线并行的演讲模式,1个主会场、20个技术专场、超千人参与的会议规模,100+来自互联网、金融、制造业、电商等领域的嘉宾阵容,将为广大参会者提供一场最具价值的技术交流盛会。

限时七折期:2019年8月31日前


----------------------------------------

大会官网>>
  

北京盛拓优讯信息技术有限公司. 版权所有 16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122
中国互联网协会会员  联系我们:huangweiwei@it168.com
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP