标准库、STL、编译参数、正则表达式

标准库

标准库减少了不同程序员对编程语言语法语义的疑惑。

不同语言的标准库

  • C语言有标准库libc, 最新的Windows系统已更新为ucrt, 可在PC/移动设备共享crt.

  • 相比C语言,C++除了有标准C++运行时库,增加了STL.

STL

写了太多的不同参数类型的加法函数,就会发现泛型太重要了。

STL带来的问题

  • 语法嵌套:STL泛型的引入了这种可能,一种类型在另外一种类型之内,出现连续符号>>的可能,但它与已有的移位运算符一样!为了解决它,手动增加空格隔开。即list<vector<int>>应该写成list<vector<int> >.

编译参数

按照精简原则,当不需要特别的库链接,一个编译器默认不需要额外参数,只用传入源代码路径,即可正确编译。事实上,有的语言有特别要求。

不同的编译器参数

  • clang

    • 编译ObjC: clang -fobjc-arc -framework Foundation hello.m -o hello
  • GNUStep编译ObjC

    • gcc hello.m -I .../GNUstep/System/Library/Headers -L .../GNUstep/System/Library/Libraries -std=c99 -lobjc -lgnustep-base -fconstant-string-class=NSConstantString

正则表达式

世界本来就有自己的规则,正则表达式是语言的一个规则。

不同语言的正则表达式

  • JavaScript可利用//包围的格式定义一个模式串,如var reg = /a+/ 代表重复的a个数超过1个。这种定义方式简单直接,比new一个RegExp对象写的字符要少。

若文章对您有帮助,欢迎关注。助您在编程路上越走越好!

微风不燥,阳光正好,你就像风一样经过这里,愿你停留的片刻温暖舒心。

我是程序员小迷(致力于C、C++、Java、Kotlin、Android、iOS、Shell、JavaScript、TypeScript、Python等编程技术的技巧经验分享),若作品对您有帮助,请关注、分享、点赞、收藏、在看、喜欢,您的支持是我们为您提供帮助的最大动力。

相关推荐
白杨尚青14 分钟前
C++进阶篇(六):map 和 set 的模拟实现——用红黑树封装 mymap/myset(迭代器 + operator[])
开发语言·c++·迭代器·stl·set·map·红黑树
1-1=02 小时前
Vue 3 模板语
前端·javascript·vue.js
风卿2 小时前
看着AI写代码太孤独了,来欣赏星云吧:一个DSH 装饰插件
前端·javascript
牧艺3 小时前
弹层不用再手算坐标了:CSS Anchor Positioning 从原理到可上线
前端·javascript·css
愚坤4 小时前
前端真有意思,JS还能独立做项目?
前端·javascript·github
李纲明5 小时前
微信小程序 getSystemInfo 提示已废弃、屏幕高度算错胶囊还对不齐?getWindowInfo 和 getDeviceInfo 怎么接才稳
javascript·微信小程序·小程序·小程序开发·devdiy
FungLeo6 小时前
成为全栈·Vue 管理后台篇·用 fetch 建一层可控的请求内核
前端·javascript·vue.js·http·fetch·formdata·接口封装
用户84298142418107 小时前
ByteJS,让重要的 JavaScript 以字节码运行。
javascript
FungLeo8 小时前
成为全栈·Vue 管理后台篇·Vue Router如何守住多角色后台边界
前端·javascript·vue.js·rbac·vue router·路由守卫·前端权限
FungLeo9 小时前
成为全栈·Vue管理后台篇·仪表盘不是几张卡片:组合统计接口与角色视图
前端·javascript·vue.js·rbac·仪表盘·管理后台·tanstack query