1. 请问"在行"用英语怎么说
原译:这类事,他确实略知一二。
辨析:Know a thing or two 和汉语的"略知一二"表面上何其相似!实际上却是一对"假朋友"。"略知一二"的意思是只知道一点儿,常用于表示自谦,比如有人说:"此时在下也略知一二。
"其实说话人知道的不少。可是英语的know a thing or two 是一个习惯说法,其含义为"知道很多";"见多识广";"有判断力";"熟悉业务";"精明能干"等,相当于know one's business or opinions ; know the ropes ; know what's what 。
如:His mother is a woman who knows a thing or two . (他母亲是个明白事理的人。)原译没有表达出原句的确切意思,是因为汉语说他人"略知一二"并没有什么谦虚的含义,而是带有一定的贬义,说那个人知道得不多,甚至只是一知半解。
其实,从really一词我们可以看出,原句里的know a thing or two带有褒义。所以全句应该译为:这类事他确实很熟悉/了如指掌。
"略知一二"的英语是know something (about)或not know much,而"只知道一点儿","一知半解"的英语是have only a smattering knowledge (of ….) ; have only some superficial knowledge (of….) ; have a rough idea (about….) ; know some half truth (about…) 。这些都含有贬义。
英语中还有一个说法:know how many beans make five , 其字面意思是"知道多少/几个豆子是五个",这好像是"连小孩都知道的简单知识",其确切含义却是"精明;在行",也是一个褒义的说法。说一个人一窍不通,应是not know the first thing about …, 如:I don't know the first thing about gardening . (对不起,我对园艺一窍不通。)
此外英语中有一个很有意思的说法:He know which side his bread is buttered. 你能猜出其含义吗?其意思是说:他知道自己的利益所在,善于为自己打算。
2. VC中的单斜杠"\"用在行末尾是什么意思
这玩意儿有个正式的名称叫做续行符,在普通代码行后面加不加都一样(VC是自动判断续行的),但是在宏定义里面就特别有用,因为宏定义规定必须用一行完成:
#define SomeFun(x, a, b) if(x)x=a+b;else x=a-b;
这一行定义是没有问题的,但是这样代码很不容易被理解,以后维护起来麻烦,如果写成:
#define SomeFun(x, a, b)
if (x)
x = a + b;
else
x = a - b;
这样理解是好理解了,但是编译器会出错,因为它会认为#define SomeFun(x, a, b)是完整的一行,if (x)以及后面的语句与#define SomeFun(x, a, b)没有关系.这时候我们就必须使用这样的写法:
#define SomeFun(x, a, b)\
if (x)\
x = a + b;\
else\
x = a - b;
注意:最后一行不要加续行符啊.VC的预处理器在编译之前会自动将\与换行回车去掉,这样一来既不影响阅读,又不影响逻辑,皆大欢喜.