古文观止
古文观止报任安书【作者】司马迁 【朝代】汉 太史公牛马走司马迁,再拜言。 少卿足下:曩者辱赐书,教以慎于接物,推贤进士为务,意气勤勤恳恳。若望仆不相师,而用流俗人之言,仆非敢如此也。仆虽罢驽,亦尝侧闻长者之遗风矣。顾自以为身残处秽,动而见尤,欲益反损,是以独郁悒而无谁语。谚曰:“谁为为之?孰令听之?”盖钟子期死,伯牙终身不复鼓琴。何则?士为知己者用,女为说己者容。若仆大质已亏缺矣,虽材怀随和,行若由夷,终不可以为荣,适足以发笑而自点耳。 书辞宜答,会东从上来,又迫贱事,相见日浅,卒卒无须臾之间,得竭指意。今少卿抱不测之罪,涉旬月,迫季冬,仆又薄从上雍,恐卒然不可为讳,是仆终已不得舒愤懑以晓左右,则长逝者魂魄私恨无穷。请略陈固陋。阙然久不报,幸勿为过。 仆闻之:修身者,智之符也;爱施者,仁之端也;取予者,义之表也;耻辱者,勇之决也;立名者,行之极也。士有此五者,然后可以托于世,列于君子之林矣。故祸莫憯于欲利,悲莫痛于伤心,行莫丑于辱先,诟莫大于宫刑。刑余之人,无所比数,非一世也,所从来远矣。昔卫灵公与雍渠同载,孔子适陈;商鞅因景监见,赵良寒心;同子参乘,袁丝变色:自古而耻之!夫以中...
古诗词拾萃
诗歌行女哀辞[魏晋]曹植行女生于季秋,而终于首夏。三年之中,二子频丧。 伊上帝之降命,何修短之难裁。或华发以终年,或怀妊而逢灾。感前哀之未阕,复新殃之重来。方朝华而晚敷,比晨露而先晞。感逝者之不追,情忽忽而失度。天盖高而无阶,怀此恨其谁诉。 梦游天姥吟留别[唐] 李白海客谈瀛洲,烟涛微茫信难求;越人语天姥,云霞明灭或可睹。天姥连天向天横,势拔五岳掩赤城。天台四万八千丈,对此欲倒东南倾。 我欲因之梦吴越,一夜飞度镜湖月。湖月照我影,送我至剡溪。谢公宿处今尚在,渌水荡漾清猿啼。脚著谢公屐,身登青云梯。半壁见海日,空中闻天鸡。千岩万转路不定,迷花倚石忽已暝。熊咆龙吟殷岩泉,栗深林兮惊层巅。云青青兮欲雨,水澹澹兮生烟。列缺霹雳,丘峦崩摧。洞天石扉,訇然中开。青冥浩荡不见底,日月照耀金银台。霓为衣兮风为马,云之君兮纷纷而来下。虎鼓瑟兮鸾回车,仙之人兮列如麻。忽魂悸以魄动,恍惊起而长嗟。惟觉时之枕席,失向来之烟霞。 世间行乐亦如此,古来万事东流水。别君去兮何时还?且放白鹿青崖间,须行即骑访名山。安能摧眉折腰事权贵,使我不得开心颜? 赠李白[唐] 杜甫秋来相顾尚飘蓬,未就丹砂愧葛洪。痛饮狂...
C++ 值类别探究
C++ 在演进过程中逐渐增强和拓展了对类型的处理能力。 由于表达式产生的中间结果会产生导致多余的拷贝,因而在 C++11 中引入了移动语义来解决这个问题,同时对值类别的左值、右值进行重新定义。需要注意的是,值类别指的是表达式结果的类别,并不是值对象、变量或者类型的类别。 对值类别的准确理解,是掌握移动语义的关键,能够帮我我们写出更优雅高效的代码,那么今天让我们一起来探究一下值类别。 1. 引用引用是 C 语言所没有的概念。而这个概念,比它表面看起来要复杂一些。 1.1 值与对象为了理解引用,我们需要首先搞清楚什么叫左值与右值 。 简而言之,左值是一种对象,而不是值。其与右值的关键区别在于,是否明确在内存中有其可访问的位置。即,其是否存在一个可访问的地址。如果有,那么它就是一个对象,也就是一个左值 ,否则,它就只是一个值,即右值。 比如:你不可能对整数 10 取地址,因而这个表达式是一个右值。但是如果你定义了一个变量: int a = 10; 变量 a 则代表一个对象,即左值。如果我们再进一步,表达式 a + 1 则是一个右值表达式,因为你无法对这个表达式取地址。 任何可以取地址的...
C++ 概念简介
C++ 模板不仅具备强大的泛化能力,自身也是一种“图灵完备”的语言,掀起了 C++ 之父 Bjarne Stroustrup 自己都没料到的“模板元编程”这一子领域。 但是,使用模板做泛型编程,最大的问题就是缺少良好的接口,一旦使用过程中出现偏差,报错信息我们难以理解,甚至无从下手。更糟的是,使用模板的代码几乎无法做到程序 ABI 层面兼容。这些问题的根本原因是 C++ 语言本身缺乏模板参数约束能力,因此,既能拥有良好接口、高性能表达泛化,又能融入语言本身是非常困难的。 好在 C++20 标准及其后续演进中,为我们带来了 Concepts 核心语言特性变更来解决这一难题。那么它能为我们的编程体验带来多大的革新?能解决多少模板元编程的历史遗留问题?今天我们一起探究 Concepts。 第 1 章 概念和约束的历史早在 1987 年,C++ 之父 Bjarne Stroustrup 就着手为模板参数设置合适的接口。长期以来,模板参数没有任何约束,仅仅在实例化的时候才能发现类型上的错误。他希望模板拥有如下三大特点: 强大的泛化、表达能力。 相对于手写代码做到零成本开销。 良好的接口。...
Boost 库概览
Boost 提供免费的同行评审的可移植 C++ 源代码库。 我们强调与 C++ 标准库配合良好的库。Boost 库旨在具有广泛的用途,并且可在广泛的应用程序中使用。Boost 许可证鼓励 所有用户以最小的限制使用 Boost 库。 我们的目标是建立“现有实践”并提供参考实现,以便 Boost 库适合最终标准化。从库技术报告(TR1) 中包含的 10 个 Boost 库开始,一直到 2011 年以来 C++ ISO 标准的每个版本,C++ 标准委员会一直依赖 Boost 作为标准 C++ 库补充的宝贵来源。 作为一个组织的 Boost Boost 组织和更广泛的 Boost 社区支持对 C++ 及其开发的库的最佳用途的研究和教育,特别是但不限于 Boost 库中包含的那些内容。 该组织和社区支持邮件列表和聊天室,为 Boost Libraries 和 C++ 用户提供有关最佳实践和尖端技术的教育。 本文档基于 Boost 1.83.0 按类别排序字符串和文本处理 Convert:一个可扩展且可配置的类型转换框架。 Format:格式化库,提供了一种类型安全机制,用于根据类似 pr...
Range-v3 库官方文档
前言C++14/17/20 的范围库。此代码是 C++20 中范围支持的基础。 开发状态 这些代码相当稳定,经过充分测试,适合随意使用,尽管目前缺乏文档。不做出任何有关支持或长期稳定性的承诺。该代码将不断发展,而不考虑向后兼容性。 一个需要注意的例外是在 range::cpp20 命名空间中找到的任何内容。这些组件很少改变或者(最好)永远不会改变。 安装该库仅包含头文件。您可以从 github 上的 range-v3 存储库获取源代码。要使用 Range-v3 进行编译,只需 #include 您想要的各个标头。 该发行版实际上包含三个独立的仅头文件库: include/concepts/… 包含概念可移植性预处理器 (CPP),它是一组用于定义和使用概念检查的宏,无论您的编译器是否恰好支持 C++20 概念语言功能。 include/meta/… 包含元库,它是一组元编程实用程序,用于在编译时处理类型和类型列表。 include/range/… 包含 Range-v3 库,如下所述。 Range...
Eigen 库官方文档
Eigen 是一个用于线性代数的 C++ 模板库:它包含矩阵、向量、数值求解器以及相关算法。 概述 Eigen 用途广泛。 它支持任意大小的矩阵,从小型固定大小矩阵到任意大小的大型稠密矩阵,甚至是稀疏矩阵。 它支持所有的标准数字类型,包括std::complex,整型以及很容易拓展到用户数字类型。 它支持各种矩阵分解操作和几何学特征。 它的非官方支持模块提供了许多特殊的功能,例如像非线性优化、矩阵函数、多项式求解以及快速傅里叶变换等。 Eigen 是快速的。 表达式模板允许智能地删除临时变量,并在适当的时候启用惰性求值。 对 SSE 2/3/4、AVX、AVX2、FMA、AVX512、ARM NEON(32 位和 64 位)、PowerPC AltiVec/VSX(32 位和 64 位)、ZVector (s390x/zEC13) SIMD 指令集执行显式的向量化,并且从 3.4 MIPS MSA 开始,能够优雅地回退到非矢量化代码。 对大小固定的矩阵做了充分优化:避免了动态内存分配,并且在允许的情况下进行循环展开。 对于大型矩阵,...
Haskell 趣学指南
这是一本讲解 Haskell 这门函数式编程语言的入门指南,语言通俗易懂,插图生动幽默,示例短小清晰,结构安排合理。书中从 Haskell 的基础知识讲起,涵盖了所有的基本概念和语法,内容设计基本语法、递归、类型和类型类、函子、applicative 函子、monad、zipper 及所有 Haskell 重要特性和强大功能。 本书适合对函数式编程及 Haskell 语言感兴趣的开发人员阅读。 Haskell 官网 准备工作 在 Windows 上安装 Haskell 环境 在 PowerShell 会话中运行以下命令(作为非管理员用户): 配置国内镜像源 1env:BOOTSTRAP_HASKELL_YAML = 'https://mirrors.ustc.edu.cn/ghcup/ghcup-metadata/ghcup-0.0.6.yaml' 安装 1Set-ExecutionPolicy Bypass -Scope Process -Force;[System.Net.ServicePointManager]::SecurityProtocol...
现代诗观止
无意间读到了一位诗人的访谈,题为《我们可以爱一首诗而不懂它》,无疑就是我在读诗过程中的心路历程了。被打动的瞬间从来都是突然降临的,无法解释也无需解释。诗人为读者提供了一个替代性的世界,通过它,读者阅读这个世界。你阅读他们,不会是为了验证某个意义或者你自己在世经验的真理性,而只是为了让自己沉浸在他们独特的声音里。我们被猝然击中,发现彼此的生命在无意识中覆盖重叠,遥远的个体始终在共享某些相似的体验。于是,从这一刻开始,我们变得不再惧怕孤单了。 “当我们走在树叶短暂的光泽下,爱着我们所拥有的,而不是去想我们这些小小的生命,如何在黑暗中旅行,没有看得见的道路或可见的终点。……有些时候,我能够相信我们是星星的孩子,而我们的话语是由同样的宇宙中燃烧的尘埃组成。” 祖国,或以梦为马【作者】海子 我要做远方的忠诚的儿子和物质的短暂情人和所有以梦为马的诗人一样我不得不和烈士和小丑走在同一道路上 万人都要将火熄灭 我一人独将此火高高举起此火为大 开花落英于神圣的祖国和所有以梦为马的诗人一样我借此火得度一生的茫茫黑夜 此火为大 祖国的语言和乱石投筑的梁山城寨以梦为上的敦煌——那七月也...
思维与亲密
面对这个纷繁复杂的社会,哈佛耶鲁、斯坦福式的毕业鸡汤已无用武之地;万金油的主题:遵从你的心声,做真实的自己,追逐自己的激情,未来无限可能云云,也稍逊风骨;更不用说自媒体上充斥的喧嚣与躁动。此时再看全美第一“修道院高校”芝加哥大学这篇毕业演讲,不仅是一股教育界的清流,更是一种芝大人心灵深处的回响。 大卫·布鲁克斯(David Brooks)毕业于芝加哥大学历史系,系《纽约时报》专栏作家,美国知名公共知识分子。2017 年毕业典礼,芝加哥大学第一次邀请非本校教职员工做毕业致辞,布鲁克斯接受邀请,演讲颇具芝大风。他回忆当年芝大的学习生活,探讨芝大给予自己与未能给予自己的精神财富,集中体现了全美“第一修道院”内的精神世界。我在芝大现场聆听了演讲,印象深刻,最终独家翻译制作。如果你是芝大人或向往芝大生活,欢迎分享转载。 2017 芝加哥大学毕业演讲大卫·布鲁克斯 01I was so honored to be invited to be the inaugural Class Day Speaker. But obviously since I’m a...











