Objective-C 和 C++ 订阅号和服务号的区别别有哪些?为什么苹果会选择前者

Objective-C和C++混编的要点_百度文库
您的浏览器Javascript被禁用,需开启后体验完整功能,
享专业文档下载特权
&赠共享文档下载特权
&10W篇文档免费专享
&每天抽奖多种福利
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
Objective-C和C++混编的要点
&&iPhone软件开发经验
阅读已结束,下载本文需要
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,同时保存到云知识,更方便管理
加入VIP
还剩1页未读,
定制HR最喜欢的简历
你可能喜欢objective-c和c++的区别
[问题点数:30分,结帖人wraith007]
本版专家分:0
结帖率 66.67%
CSDN今日推荐
本版专家分:36153
2012年4月 专题开发/技术/项目大版内专家分月排行榜第一2012年3月 专题开发/技术/项目大版内专家分月排行榜第一2011年2月 C/C++大版内专家分月排行榜第一
2012年5月 专题开发/技术/项目大版内专家分月排行榜第二2010年3月 C/C++大版内专家分月排行榜第二
2012年4月 Linux/Unix社区大版内专家分月排行榜第三2011年7月 Linux/Unix社区大版内专家分月排行榜第三2010年2月 C/C++大版内专家分月排行榜第三
本版专家分:92992
2008年 总版技术专家分年内排行榜第五
2007年6月 总版技术专家分月排行榜第三
2007年6月 VC/MFC大版内专家分月排行榜第一
2008年5月 C/C++大版内专家分月排行榜第二2008年3月 C/C++大版内专家分月排行榜第二2007年10月 C/C++大版内专家分月排行榜第二2007年9月 C/C++大版内专家分月排行榜第二2007年6月 C/C++大版内专家分月排行榜第二2007年5月 C/C++大版内专家分月排行榜第二
本版专家分:5677
本版专家分:5
本版专家分:0
本版专家分:18
本版专家分:0
本版专家分:0
匿名用户不能发表回复!|
其他相关推荐[Objective-C/iOS]Objective-C与C++的一点区别对比
不知道有多少同学像我一样学C出身,之后学习C++,最近几年开始接触iOS和Objective-C,会不会也会有我现在的烦恼,即C++和Objective-C两种语言总是在脑袋里在打架。其实这也是很正常的,本来Objective-C就跟C++一样,是C的一个超集,可以说是与C++是兄弟,所以二者是肯定在相似之中又有所区别的。如果可以的话,通过对比一下二者的不同之处,可以对它们尤其是oc有一个更加清晰的认识。
他们二者有一个最根本的共同点,就是都是在c语言的基础上扩展而来的一种面向对象的变成语言,因此我们从二者在类的定义上入手。
(1)类的定义:
在C++中,定义一个类如下格式:
//myClass.h
#pragma once
#include "....."
class myClass
myClass();
~myClass();
void myFun1();
int myFun2(char
&pCh1, &unsigned int nInt2);
int m_int1;
char m_char1;
//myClass.cpp
#include "myClass.h"
#include "......"
void myClass::myFun1()
{//Coding here...
int&myClass::&myFun2(char
&pCh1, &unsigned int
{//Coding here...
而在Objective-C中,类的声明同样在定义的头文件中,格式如下
&Foundation/Foundation.h&
@interface XYpoint :
- (XYpoint *)
initWithX:(int) _x
AndY:(int) _y;
- (void) getXV
- (void) getYV
- (void) setXValue:
- (void) setYValue:
实现文件的后缀名为.m。(只有一点不好的是,由于后缀名一致,xcode文件双击打开的时候会和matlab文件冲突)。
#import "XYpoint.h"
@implementation XYpoint
- (XYpoint *)
initWithX:(int)_x
AndY:(int)_y
& & if ([super init])
& return self;
- (void) getXValue
& NSLog(@"X value is %i",x);
- (void) getYValue
& NSLog(@"Y value is %i",y);
setXValue:(int)_x
& & x = _x;
setYValue:(int)_y
& & y = _y;
在这两个文件中,类的成员变量可以放在声明中也可以在实现程序里。
(2)函数的原型的不同
其实二者并没有多大本质的区别,只是需要加括号的部分相反而已。
在C/C++中,定义函数的方式为:返回类型 函数名称(参数类型 型参);而在oc中,定义函数的方式为:+/- (返回值类型)
函数名称:(参数类型 型参)函数名称:(参数类型
比如,在C/C++中,声明某个函数的如下:
void fun1(int nX1,int nX2);
同样的函数放到oc里就要这么写:
-(void) fun1:(int) nX1 And:(int) nX2;
也就是说,C/C++的函数,名称和参数基本上是分开的,而在OC中,参数表穿插在函数名称中间。在我看来,OC的这种命名函数的方式更能符合日常的语言习惯,函数同参数的意义也更容易理解。
(3)提供的开发框架
C++之中一个相当重要的部分便是标准模板库stl,在stl中提供了list/vector/set/map等容器还有针对不同数据结构的算法供开发者使用;在Objective-C中,同样存在foundation
framework,提供了NSArray,NSString,NSSet等不同工具,但是从感觉上来看,Objective-C对foundation
framework的依赖性比c++对stl的依赖性更强。
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。57361 条评论分享收藏感谢收起

我要回帖

更多关于 纹眉和绣眉的区别 的文章

 

随机推荐