c#2.0里的所谓“新特性”相当部分 其实在c++里早就有了,而

且是很多年前就有了 我们被微软忽悠了。

先说全局标识符“::”

在c++中你可以这样写你的代码:

1 voidCDialogDlg::Onsave()2 {3 }

看不明白??

就是说这里的Onsave方法是 CDialogDlg这个类下面的

然后再说泛型,泛型可以说是c#2.0新增的又一大有用的特性。

你可以在c/c++中这样写你的代码

定义:

1 template2 T function1(T a)3 {4 returna;5 }

调用:

1 printf( function1("fghh"));

相信很少有人在c++中写过这样的代码,但实际上他是可行的

在c++中他叫template

刚刚上面那个函数 如果你要打印一个整数可以这样调用

1 printf("%d", function1(1234));

是不是很神奇 ^_^

c++里也可以写这样的代码:

1 # include2 usingnamespacestd;3

哇哈哈 同学们是不是感觉很熟悉

是的没错 c#里要引入一个命名空间就是这样写的

说到BOOL类型 我们想到的是什么 TRUE FALSE?

它的实质是什么?

看下c++里的源码

1 #defineFALSE 02 #defineTRUE 1

他是系统定义的两个常量,或者说是标识

就是说BOOL型的变量实质是一个枚举类型,而这个枚举只有两

种状态TRUE跟FALSE

String 相信在c#里也经常用吧,只要是编程就离不了它

你见过c++里有String 类型的的变量吗,没有的.

c++里用这个"CString" 他是被封装成的一个class

说到底他是一个引用类型(String类型它的内存地址分配了就不

能再改他的内容 如果要连接100个字符串那么他就要分配100个

内存地址) 不能向整数那样直接用“+”的方式

否则它的效率是很低的

这就是为什么要用StringBuilder的原因,但是有初学者不知道

当初我就不知道^_^

c++里的访问标识符可以这样写:

1 public:2 inta;3 floatb;

c++里实例化一个对象 然后调用它的方法:

1 Class1*p1;2 Class1 t(5);3 p1=&t;4 printf("%d",p2->aa);

看不懂??

这样呢:

1 Class1*p1;2 p1=newClass1(5);

经常在c#里写这样的东西 不明其所以然 只知道可以用,

其实就是指针而已

当初比较笨 c语言讲指针数组 什么数组指针那章晕了好半天呢

^_^

c#3.0里的 “扩展方法” 抄袭c++里的 “友元函数” 一个概念 只不过换了个名字

c#2.0里不是有个叫“矢代器”的东东吗  这不就是c++ stl里vector 的矢代器一样的概念么

看得出c# 。net一直在改进 微软正努力让他变得更好用

为什么?实际上这些所谓的高级语言 一直在抄袭低级语言

说到底 不要过分去研究那些时髦的东西,老的技术总是有用处

的。电脑不可能智能到 不需要任何人工干预的情况下给你写出

一个有用的程序来的。

现在软件行业人越来越多 各种开发工具越来越智能化 写Hello

world越来越简单 我都有点担心饭碗问题了 T_T

去年把c++ premier plus 读了一遍。

总结一下吧。

严格上说的C++只是一种语法规范 和开放的编译标准,属于众人拾柴火焰高的类型。你可以选择各家的编译器

但实际情况下却是比较难用,开发比较大的没见过的功能算法要到处找库来 沾到一起。C++仅仅是语法规范 注意仅仅

如果涉及到多线程,文件操作,网络socket ,绘图,都需要学习跟特定操作系统相关的接口 Windows Linux各不一样。

微软还是有他的牛逼之处 众人拾柴火焰高的感觉像是开源的C++用的人是多 但是依然那么难用,不像C#可形成体系的一套解决方案。

C++印象比较深刻的是 直接内存操作 以及“值类型”和“引用类型” 界限的模糊,这点既是比较灵活 运行起来效率高 也是比较hold不住的地方。

c#值类型和引用类型有清晰的界限 不用管new出来的引用。

不过学了它后却是对c#的应用 以及其他上层语言 的运作过程有了个更深刻的理解。

c# define 类似_c#跟c++的相似之处相关推荐

  1. define 字符串_C++如何使用define关键字以便使用中文编程?

    先上代码: #include <iostream> #define 使用 using #define 整型 int #define 浮点 double #define 命名空间 names ...

  2. 每日词根——sim/sem/simul/simil(相同,类似,相等)

    词根 iso = equal,similar 相等,相同 来源于希腊语 isos,构词能力一般,有异形同义词根:-par-,-pair-,-peer- 相等,前缀 is- 为 iso- 的变体,一般加 ...

  3. FFmpeg源代码简单分析:libswscale的sws_getContext()

    ===================================================== FFmpeg的库函数源代码分析文章列表: [架构图] FFmpeg源代码结构图 - 解码 F ...

  4. FFmpeg源代码简单分析-其他-libswscale的sws_getContext()

    参考链接 FFmpeg源代码简单分析:libswscale的sws_getContext()_雷霄骅的博客-CSDN博客 libswscale的sws_getContext() FFmpeg中类库li ...

  5. C语言程序设计 细节总结(第9章 结构体共用体枚举)

    第9章 结构体.共用体.枚举 9.1 结构体 1.对于同类型结构体变量之间可以整体一次赋值 9.2 指向结构体的指针 9.2.1结构体变量的指针 1.定义格式:struct 结构体名 *结构体指针变量 ...

  6. JavaSript模块化 AMD CMD 详解.....

    模块化是指在解决某一个复杂问题或者一系列的杂糅问题时,依照一种分类的思维把问题进行系统性的分解以之处理.模块化是一种处理复杂系统分解为代码结构更合理,可维护性更高的可管理的模块的方式.可以想象一个巨大 ...

  7. JavaScript模块化开发技术概述

    2019独角兽企业重金招聘Python工程师标准>>> 什么是模块化开发? 前端开发中,起初只要在script标签中嵌入几十上百行代码就能实现一些基本的交互效果,后来js得到重视,应 ...

  8. CMake 条件判断

    CMake简介 CMake 是做什么的? CMake是一套类似于automake的跨平台辅助项目编译的工具. 我觉得语法更加简单易用. CMake的工作流程 CMake处理顶级目录的CMakeList ...

  9. U-Boot移植教程之二:移植

    内容来自 韦东山<嵌入式Linux应用开发完全手册> 一.U-Boot移植 开发板smdk2410的配置适用于大多数S3C2410单板,或是只需要极少的修改即可使用.但是目前U-Boot中 ...

  10. Xcode学习C++(三、const)

    const可以限定一个变量的值不允许被改变,使用const在一定程度上可以提高程序的安全性和可靠性 const int a = 10; 变量a的值是不能被修改的,永远都是初值10 int const ...

最新文章

  1. linux驱动:i2c驱动(四)流程图之注册驱动
  2. 乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)
  3. vista下文件夹拒绝访问的解决办法
  4. Description Resource Path Location Type Java compiler level does not match the version of the insta
  5. mysql 命令限制_MySQL 命令总结
  6. OObjective-c UIView 蒙层
  7. 分水岭算法 matlab实现
  8. 手机兼职做任务发布悬赏赚钱的APP汇总到底有多少?
  9. 暴力破解防范措施和措施总结
  10. 【Netty-进阶】学习笔记
  11. zabbix_agentd.exe [13816]: ERROR: cannot connect to Service Manager: [0x00000005]
  12. 浪潮服务器维修报价,浪潮服务器报价网
  13. 高斯约当法矩阵求逆(Matlab实现)
  14. 微信小程序--js中string转换为number
  15. GraphCL: Graph Contrastive Learning with Augmentations笔记
  16. 关于bool operator< (const Edge W)const
  17. 用Cadence Virtuoso IC617仿真CMOS反相器
  18. 小微企业名录的作用以及查询方法
  19. iOS之UI--通讯录的实例关键知识技术点积累
  20. 推荐一个好用的tcp udp调试工具——TCP/UDP Debugger

热门文章

  1. 分布式存储系统学习笔记(二)—分布式文件系统(2)—淘宝文件系统(TFS)
  2. 论文阅读笔记(四)——ESPNetV2:A Light-weight Power Efficient and General Purpose Convolutional Neural Network
  3. hard-negative mining详细介绍
  4. python训练Faster RCNNC++调用训练好的模型进行物体检测-基于opencv3.4.3(超详细)
  5. 安装vs2008之后系统好像变慢了?
  6. Junit第一次使用
  7. MJRefresh自定义刷新动画
  8. ASP.NET 常用语句代码
  9. python图像exif信息复制
  10. Numpy入门(详看注释)