- 主题:掐指一算,本青可以不用学c++20了
这么做也是有价值的,起码等他退休了(假设20年后吧),50年前的老代码因为及时转为了20年前的老代码,那时候还有年轻人能看得懂,能维护。
美国公司已经遇到这样的问题了,很多COBOL 60的业务代码,现在找不到人维护,只能找退休程序员。
【 在 toutouqi 的大作中提到: 】
: 公司有技术arch不停地把大量用了30年的老代码转为14和17的语法,下一步就是用20的语法,逻辑bug一个没修,真是闲得蛋疼。
--
修改:poocp FROM 222.212.186.*
FROM 222.212.186.*
我安装了一个 msvc2019,发现里面好像带了 clang
不知道能不能直接用这个 clang 编译。
【 在 PGP (---) 的大作中提到: 】
: 这么算的话还是最新版好,微软宣称最新版的vc编译boost可以把各种针对vc的workaround去掉,和gcc及clang的兼容度前所未有的高
--
FROM 112.47.122.*
这里哪些是14/17的语法?
我看是把c with class 改成c++98了。
一个计算机专业毕业生带一堆物理、数学、建筑、土木、机械的老鸟吧。
【 在 toutouqi 的大作中提到: 】
: 成熟的c库改用c++编译(改少量代码),比如说类里的指针数组改vector,类成员初始化挪到变量定义位置,(输出参数)传 ...
--
FROM 1.80.243.*
好像可以,叫clang-cl
有一次更新cl出现了ICE就试了一下,cl出错的地方用clang-cl通过,但由于其他的一些错误后来放弃,主要是文档有点乱,不支持clang的某些选项,好像还支持了几个cl特有的选项,但没有统一的文档所以搜起来很乱,靠猜
【 在 hgoldfish 的大作中提到: 】
: 我安装了一个 msvc2019,发现里面好像带了 clang
:
: 不知道能不能直接用这个 clang 编译。
: ....................
--
FROM 39.183.10.*
msvc2019 到现在已经两年了。会不会再下个版本,msvc 没了,只剩下 clang-cl,呵呵。。
【 在 PGP (---) 的大作中提到: 】
: 好像可以,叫clang-cl
: 有一次更新cl出现了ICE就试了一下,cl出错的地方用clang-cl通过,但由于其他的一些错误后来放弃,主要是文档有点乱,不支持clang的某些选项,好像还支持了几个cl特有的选项,但没有统一的文档所以搜起来很乱,靠猜
--
修改:hgoldfish FROM 117.24.206.*
FROM 117.24.206.*
你们还是 c 带类的写法吧。连智能指针都没用上。
个人觉得你们这个架构师的做法是正确的。虽然 stdc++ 的 string 是个垃圾,不过至少比 c 的 char[] 强很多。很多安全问题都是使用 char[] 没有正确判断边界引起的。snprintf() 不是类型安全的,也是容易用错。
根据你上面的说法,你们的架构师并没有用上各种 template<> 奇技淫巧,都是些正统的 cpp 写法。
如果这个程序都是你们这些老人家维护,那一直保持下去当然是可以的,但如果想要招聘新人,作为新时代的程序员,一般不会愿意维护这种古老代码风格的代码。
【 在 toutouqi (toutouqi) 的大作中提到: 】
: 同事大部分是特定专业的,非cs的,主要精力在业务的正确性上,产品负责人也有抓住市场窗口尽快发布功能的压力。要是没时间压力,打磨代码当然没问题了。大部分人用惯了某些函数,可以用这些函数很快地实现功能,换写法有时候会踩坑。比如说把浮点数存到字符串,本来spri
: 当然,从个人发展角度,肯定是多掌握一些最新的语法技巧更好。
--
FROM 117.24.206.*
没毛病,。
【 在 libgcc 的大作中提到: 】
: 编译器全部整明白估计还要一两年
: 然后发行版标配估计还要一两年
: 然后所有项目真的开始大范围用上来,估计还得再加七八年
: ....................
--
FROM 183.195.15.*
这方面有:把define的常量改成inline const,让把用了多年的随机数生成改成新标准里的random库里的。类变量定义位置初始化应该是11的吧,这种改动由于不是所有类都能在定义时初始化,反而不如统一在构造函数里初始化看起来更清晰。
【 在 DoorWay 的大作中提到: 】
: 这里哪些是14/17的语法?
:
: 我看是把c with class 改成c++98了。
: ...................
--
FROM 221.220.229.*
智能指针有人用的,只是老代码,结构简单的类改成用智能指针有时候显得并不智能,比如自定义的多维数组,比如简单字符串的parser及其语法树。没说这些语法不正统,只是觉得把时间花在追新标准方面浪费时间,也给原有开发者在维护代码的时候添了不少麻烦,毕竟谁也不能保证测试用例是完全覆盖的,有些改动当时没发现错误但后来发现了问题。
【 在 hgoldfish 的大作中提到: 】
: 你们还是 c 带类的写法吧。连智能指针都没用上。
: 个人觉得你们这个架构师的做法是正确的。虽然 stdc++ 的 string 是个垃圾,不过至少比 c 的 char[] 强很多。很多安全问题都是使用 char[] 没有正确判断边界引起的。snprintf() 不是类型安全的,也是容易用错。
: 根据你上面的说法,你们的架构师并没有用上各种 template<> 奇技淫巧,都是些正统的 cpp 写法。
: ...................
--
FROM 221.220.229.*
老的随机数生成器 rand() 和 srand() 是整个进程唯一的,所以可能存在线程间的锁。而新的标准库里面的则可以做到每线程独立。贵司这位架构司干的很不错。
【 在 toutouqi (toutouqi) 的大作中提到: 】
: 这方面有:把define的常量改成inline const,让把用了多年的随机数生成改成新标准里的random库里的。类变量定义位置初始化应该是11的吧,这种改动由于不是所有类都能在定义时初始化,反而不如统一在构造函数里初始化看起来更清晰。
--
FROM 112.47.122.*