Skip to main content

标 题: 我来推一下C++吧

 发信人: wdong (万事休), 信区: Programming
标  题: 我来推一下C++吧
发信站: BBS 未名空间站 (Thu Feb 18 09:23:45 2021, 美东)

C++已经不是活命语言了。活命语言是python或者js。
我这是和rust, go, swift这种二流语言相比而言。如果
非要花时间学一个语言,C++是值得投资的。
----


如果已经会了一种编程语言,想再找事或者技术上进一步提高,
还是C++一步到位吧。这个世界上,C++之上别无第二个语言。
特别是python/R的用户,可以给现有项目写扩展。
就跟买电子垃圾似的,如了门以后要有钱,看准了最好狠
下心来买个好的用十年。

目前的C++,对于库的作者我感觉其实并不友好。
但是对于没有历史负担的一般用户,可以写出很漂亮的代码。


下面贴一些学习材料:

C++FAQ,第二语言可以直接跳过教科书看这个
https://isocpp.org/faq

现代C++新特性,适合C/C++老帮菜返老还童所需
https://github.com/AnthonyCalandra/modern-cpp-features

https://github.com/fffaraz/awesome-cpp

我最近看了圈开源库,对一些常用库进行了更新:

boost::program_options -> CLI/CLI.hpp
glog -> spdlog
boost::format -> fmt::format

目前小点的程序可以做到header only了。
glog有个CHECK宏用起来还是很顺手的,但是
centos上没有程序移植起来多一层麻烦。


Comments

Popular posts from this blog

CKA Simulator Kubernetes 1.22

  https://killer.sh Pre Setup Once you've gained access to your terminal it might be wise to spend ~1 minute to setup your environment. You could set these: alias k = kubectl                         # will already be pre-configured export do = "--dry-run=client -o yaml"     # k get pod x $do export now = "--force --grace-period 0"   # k delete pod x $now Vim To make vim use 2 spaces for a tab edit ~/.vimrc to contain: set tabstop=2 set expandtab set shiftwidth=2 More setup suggestions are in the tips section .     Question 1 | Contexts Task weight: 1%   You have access to multiple clusters from your main terminal through kubectl contexts. Write all those context names into /opt/course/1/contexts . Next write a command to display the current context into /opt/course/1/context_default_kubectl.sh , the command should use kubectl . Finally write a second command doing the same thing into ...

OWASP Top 10 Threats and Mitigations Exam - Single Select

Last updated 4 Aug 11 Course Title: OWASP Top 10 Threats and Mitigation Exam Questions - Single Select 1) Which of the following consequences is most likely to occur due to an injection attack? Spoofing Cross-site request forgery Denial of service   Correct Insecure direct object references 2) Your application is created using a language that does not support a clear distinction between code and data. Which vulnerability is most likely to occur in your application? Injection   Correct Insecure direct object references Failure to restrict URL access Insufficient transport layer protection 3) Which of the following scenarios is most likely to cause an injection attack? Unvalidated input is embedded in an instruction stream.   Correct Unvalidated input can be distinguished from valid instructions. A Web application does not validate a client’s access to a resource. A Web action performs an operation on behalf of the user without checkin...