接触C++已经十五年了。。。但是对于C++而言,我至今是个门外汉,不是谦虚,而是确实不得其门而入。

  历程是这样的——

  大学考研要考C++,就自学了。研没考上,C++算是学了,准确的说是C++的语法,以及面向对象的概念,全是虚的东西。

  毕业找工作,人家要做个简单界面,我不会,因为还不会使用任何C++做界面的类库,编译器也只会使用Turbo C++ 3,被羞辱了。最后凭借C语言找到一份编程的工作(没问UI的东西,感谢第一个东家给饭吃)。但是制作工具软件,还是要使用界面(GUI)。整个开发就俩人,我和领导。领导问我用啥,我说VC吧,结果看了两个月MFC,始终一头雾水(领导也不用VC,网络不发达,找资料和跟人讨论没现在这么方便)。领导说他在用C#.Net,让我也用,然后我就走上了C#之路。。。

  然后就是刚来中金的时候,领导让尝试做个飞马的网关,API是C++的,我就又有了折腾C++的机会,采取的方案是C#<->C++/CLI<->C++。后来项目放弃,代码也没人维护,因为没有人想同时维护三种语言。

  最后就是最近不得不调用柜台厂商的C++API,但是选择的P/Invoke,不写一句C++代码。

  这几天跟使用C++做网关的同事聊,说起他们的代码其实是要尽量跨平台的,虽然不能build once, run everywhere,但是想要code once, run everywhere。就是写一份代码,通过宏开关来处理与平台相关的逻辑,然后对每种平台编译一份。我突然发现,终于找到打开C++的正确方式了,happy:)

最新文章

  1. 关于QCon2015感想与反思
  2. @Inject.@Resource.@Autowired 的区别
  3. Spark MLlib Deep Learning Convolution Neural Network (深度学习-卷积神经网络)3.1
  4. 函数参数选项的处理getopt getopt_long getopt_long_only
  5. Oracle 排序分析函数之ROW_NUMBER、RANK和DENSE_RANK
  6. mysql 事务类型表的用法
  7. zabbix log(logrt) key的使用
  8. c++ 虚析构函数[避免内存泄漏]
  9. SDAU课程练习--problemG(1006)
  10. iOS项目评估报告
  11. RAID基础知识总结
  12. pip: unsupported locale setting
  13. Docker 容器镜像删除
  14. go语言生成一张正弦图
  15. mysql中间件研究(Atlas,cobar,TDDL)[转载]
  16. .Net Core:部署应用
  17. POJ 1082
  18. Mysql备份之Innobakcupex&amp;Xtrabackup
  19. August 19th 2017 Week 33rd Saturday
  20. Linux 下面screen命令的用法

热门文章

  1. 大数据学习——hbase数据库
  2. Centos7 安装配置优化mysql(mariadb分支)
  3. HDU——2083找单词(母函数)
  4. run as maven build时报错
  5. 【2018.10.1】【JSOI2016】最佳团体(bzoj4753)
  6. BZOJ 1006 [HNOI2008]神奇的国度==最大势算法
  7. 改变input的value值,同时在HTML中将value进行改变
  8. JS基础之BOM对象
  9. 通过css将元素固定在左下角
  10. BZOJ 1090 字符串折叠(Hash + DP)