出版于2001年的《Modern C++ Design》向软件工程界介绍了通过模板元编程实现的基于策略的设计(policy-based design)。这部著作确立了安德烈·亚历山德雷斯库(Andrei Alexandrescu)作为技术权威的地位,并促成了Loki库和MOJO库的创建,其中后者为C++语言实现了移动构造函数(move constructors)的概念。
学术基础与早期职业生涯
亚历山德雷斯库1969年出生于布加勒斯特,在布加勒斯特理工大学攻读本科,于1994年7月获得电气工程理学学士学位。他后来移居美国,于2003年获得理学硕士学位,并于2009年获得哲学博士学位,两项学位均由华盛顿大学授予,专业均为计算机科学。他的早期职业道路包括自1999年4月起担任Netzip, Inc.的项目经理,在该公司收购Netzip后,继续担任RealNetworks, Inc.的开发经理。
D语言的发展
自2006年起,亚历山德雷斯库与沃尔特·布赖特(Walter Bright)合作开发D编程语言。他是2010年出版的《The D Programming Language》一书的作者,并在2007年至2019年期间担任标准库Phobos的主要维护者。除了这些职责外,他还创立了D语言基金会(D Language Foundation)以支持该语言的发展,并为其设计贡献了模块范围(ranges)特性。
企业研究与技术贡献
亚历山德雷斯库在工业界的履历包括在Facebook担任研究科学家超过五年,工作至2015年8月。2022年1月,他加入英伟达(Nvidia)担任首席研究科学家。他的技术涉猎广泛,自2000年起普及了作用域卫士(scope guard)惯用法,并为C++开发了Expected模板类。Expected类提出了一种将错误与计算目标相关联的错误处理机制,从而实现了跨线程边界的改进异常管理。
专业交流与活动
在其职业生涯中,亚历山德雷斯库通过各种渠道与编程社区进行交流。从1998年9月起,他以“Generic<Programming>”的署名为《C/C++ Users Journal》撰写文章。在2010年至2014年期间,他还与赫伯·萨特(Herb Sutter)和斯科特·迈耶斯(Scott Meyers)共同主持了年度C++ and Beyond技术会议。他于2014年8月归化成为美国公民。
快速事实
- 出生:1969年,布加勒斯特 - 国籍:罗马尼亚;美国 - 电气工程学士学位:1994年,布加勒斯特理工大学 - 计算机科学博士学位:2009年,华盛顿大学 - Facebook任职经历:2009-2015年 - Nvidia任职经历:2022年 - 归化美国公民:2014年8月
读者常见问题
### 什么是基于策略的设计?
这是一种通过模板元编程实现的编程技术,在《Modern C++ Design》一书中有详细介绍。
### Expected模板类的主要目的是什么?
它提供了一个包含结果或异常的返回值,为传统的返回码和异常处理提供了一种替代方案。


