一个德国面试官用skype给我出的面试题

IT正能量 2014-03-18 03:20:21

volitate int i=0;
void DoSomething()
{
for(;i<10;i++)
{ //dosomething
}
}


加不加volitate有什么区别

我的回答是告诉编译器不要对这个变量进行优化,但优化的英文当时实在是想不起来怎么说了,所以我说tell the compiler not to change it ,悲剧了
...全文
781 23 打赏 收藏 转发到动态 举报
写回复
用AI写文章
23 条回复
切换为时间正序
请发表友善的回复…
发表回复
边走边瞧 2014-03-19
  • 打赏
  • 举报
回复
引用 6 楼 fx471632626 的回复:
[quote=引用 2 楼 derekrose 的回复:] tell the compiler not to change it 我感觉回答的也可以啊
当时德国老哥又具体问了下,我说不是告诉程序不能改这个变量,而是告诉编译器,这老哥让我从寄存器的角度去介绍,顿时石化,就我这菜鸟英语能说明白吗,咳咳[/quote] the keyword volatile is used to ask hardware to get value of a viarant from memory, not from register. 这样回答可以不?
心是菩提树 2014-03-19
  • 打赏
  • 举报
回复
一般问这个问题的,都是涉及到嵌入式方向的
心是菩提树 2014-03-19
  • 打赏
  • 举报
回复
optimize不知道是这个不? 就是积极乐观那个单词
line_us 2014-03-19
  • 打赏
  • 举报
回复
挺可怕的事情就是这样发生了。
majia2011 2014-03-19
  • 打赏
  • 举报
回复
他都提示你reg了,就是想让你说mem
bfdeh 2014-03-19
  • 打赏
  • 举报
回复
题不难,就是英语……
方紫涵 2014-03-19
  • 打赏
  • 举报
回复
引用 9 楼 sniffer12345 的回复:
[quote=引用 8 楼 fx471632626 的回复:] [quote=引用 7 楼 derekrose 的回复:] [quote=引用 6 楼 fx471632626 的回复:] [quote=引用 2 楼 derekrose 的回复:] tell the compiler not to change it 我感觉回答的也可以啊
当时德国老哥又具体问了下,我说不是告诉程序不能改这个变量,而是告诉编译器,这老哥让我从寄存器的角度去介绍,顿时石化,就我这菜鸟英语能说明白吗,咳咳[/quote] 德国公司??[/quote] 中美合资公司的德国leader,绕啊绕[/quote] 急了直接开中文逆袭[/quote]
AgedBOY 2014-03-19
  • 打赏
  • 举报
回复
如果是单线程环境,则这个volatile没有意义。 如果是多线程环境,则有volitate时,其他线程可以读出 i 的实时变化;无volatile时,其他线程会看到 i 值一直不变。 volatile迫使编译器每次都从内存里读取 i 的值,而不是尽可能从寄存器读取。 The volatile keyword does nothing if this programme is single-threaded, but in multi-threaded situation, volatile enables other threads to get the real-time value of 'i', without it, other threads may see the 'i' never changes. Volatile makes the compiler to always fetch the value of a variable from memory instead of registers.
mujiok2003 2014-03-18
  • 打赏
  • 举报
回复
引用 13 楼 a345485527 的回复:
你和他说 can you speak chinese?
do you speak Chinese?
bedynamic 2014-03-18
  • 打赏
  • 举报
回复
这面试好有难度…………
Pump天天学习 2014-03-18
  • 打赏
  • 举报
回复
你和他说 can you speak chinese?
gz_qmc 2014-03-18
  • 打赏
  • 举报
回复
妈拉隔壁,中国企业都绝种了
月光的护城河 2014-03-18
  • 打赏
  • 举报
回复
一个参数既可以是const又可以是volatile吗?答案是肯定的。。。
zhuyf87 2014-03-18
  • 打赏
  • 举报
回复
“volatile 指出变量是随时可能发生变化的,与volatile变量有关的运算,不要进行编译优化,以免出错。” 确实得好好学学英文...
sniffer12345 2014-03-18
  • 打赏
  • 举报
回复
引用 8 楼 fx471632626 的回复:
[quote=引用 7 楼 derekrose 的回复:] [quote=引用 6 楼 fx471632626 的回复:] [quote=引用 2 楼 derekrose 的回复:] tell the compiler not to change it 我感觉回答的也可以啊
当时德国老哥又具体问了下,我说不是告诉程序不能改这个变量,而是告诉编译器,这老哥让我从寄存器的角度去介绍,顿时石化,就我这菜鸟英语能说明白吗,咳咳[/quote] 德国公司??[/quote] 中美合资公司的德国leader,绕啊绕[/quote] 急了直接开中文逆袭
IT正能量 2014-03-18
  • 打赏
  • 举报
回复
引用 7 楼 derekrose 的回复:
[quote=引用 6 楼 fx471632626 的回复:] [quote=引用 2 楼 derekrose 的回复:] tell the compiler not to change it 我感觉回答的也可以啊
当时德国老哥又具体问了下,我说不是告诉程序不能改这个变量,而是告诉编译器,这老哥让我从寄存器的角度去介绍,顿时石化,就我这菜鸟英语能说明白吗,咳咳[/quote] 德国公司??[/quote] 中美合资公司的德国leader,绕啊绕
derekrose 2014-03-18
  • 打赏
  • 举报
回复
引用 6 楼 fx471632626 的回复:
[quote=引用 2 楼 derekrose 的回复:] tell the compiler not to change it 我感觉回答的也可以啊
当时德国老哥又具体问了下,我说不是告诉程序不能改这个变量,而是告诉编译器,这老哥让我从寄存器的角度去介绍,顿时石化,就我这菜鸟英语能说明白吗,咳咳[/quote] 德国公司??
IT正能量 2014-03-18
  • 打赏
  • 举报
回复
引用 2 楼 derekrose 的回复:
tell the compiler not to change it 我感觉回答的也可以啊
当时德国老哥又具体问了下,我说不是告诉程序不能改这个变量,而是告诉编译器,这老哥让我从寄存器的角度去介绍,顿时石化,就我这菜鸟英语能说明白吗,咳咳
IT正能量 2014-03-18
  • 打赏
  • 举报
回复
引用 1 楼 zmlovelx 的回复:
英语很捉急呀。
德国人的英语还好,我经历过香港面试官的纯英文面试,那哥们根本不会说普通话,浓重的香港英语,完全被秒杀
mujiok2003 2014-03-18
  • 打赏
  • 举报
回复
msdn says "A type qualifier that you can use to declare that an object can be modified in the program by the hardware"
加载更多回复(3)

65,208

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧