NSInteger 和 int 区别】的更多相关文章

  #if __LP64__ || (TARGET_OS_EMBEDDED && !TARGET_OS_IPHONE) || TARGET_OS_WIN32 || NS_BUILD_32_LIKE_64 typedef long NSInteger; typedef unsigned long NSUInteger; #else typedef int NSInteger; typedef unsigned int NSUInteger;   NSInteger是一个封装,它会识别当前操作…
在苹果的api实现中,NSInteger是一个封装,它会识别当前操作系统的位数,自动返回最大的类型.   当你不知道你的操作系统是什么类型的时候,你通常会想要使用NSInteger,所以或许你想要你的int类型范围尽可能的大,用NSInteger,32位系统NSInteger是一个int,即32位,但当时64位系统时,NSInteger便是64位的.…
int和NSInteger其实是差不多的,但更推荐使用NSInteger,因为使用NSInteger,这样就不用考虑设备是32位还是64位了. NSUInteger是无符号的,即没有负数,NSInteger是有符号的,所以NSUInteger类型不能给它赋负值.比如以下这段代码,a=-1的时候,是能进入循环的. NSUInteger a = -1; for(int i=0;i<a;i++){ NSLog(@"%d,%lu",i,(unsigned long)a); break;…
声明:本文为博主转载文章,原文地址见文末. 知识点1:integer和int的区别 /* * int是java提供的8种原始数据类型之一.Java为每个原始类型提供了封装类,Integer是java为int提供的封装类.int的默认值为0, * 而Integer的默认值为null * ,即Integer可以区分出未赋值和值为0的区别,int则无法表达出未赋值的情况,例如,要想表达出没有参加考试和考试成绩为0的区别 * ,则只能使用Integer * .在JSP开发中,Integer的默认为nul…
遇到这样的问题: integer to pointer conversion assigning to 'NSInteger *' (aka 'int *') from 'NSInteger' (aka 'int') 用[NSNumber numberWithInteger:id]转换. 即可.…
Integer与int的区别:估计大多数人只会说道两点,一开始我也不太清楚,Ingeter是int的包装类,int的初值为0,Ingeter的初值为null.但是如果面试官再问一下Integer i = 1;int ii = 1; i==ii为true还是为false? 1 package com.test; 2 /** 3 * 4 * @author pavilion 5 * 6 */ 7 public class TestInteger { 8 9 /** 10 * @param args…
size_t和unsigned int有所不同,size_t的取值range是目标平台下最大可能的数组尺寸,一些平台下size_t的范围小于int的正数范围,又或者大于unsigned int.最典型的,在x64下,int还是4,但size_t是8.这意味着你在x64下最大可能开辟的数组尺寸是2^64.如果你使用int或者unsigned int,那么在x64下如果你的代码中全部使用uint作为数组的尺寸标记,那么你就会失去控制2^32尺寸以上的数组的机会.虽然现在在x64上开辟一个大于2^32…
1byte=8bit   [tinyint] 从 0 到 255 的整型数据.存储大小为 1 字节.如果设置为UNSIGNED类型,只能存储从0到255的整数,不能用来储存负数. [smallint] 从 -2^15 (-32,768) 到 2^15 - 1 (32,767) 的整型数据.存储大小为 2 个字节,共16位.其中15位用于表示数值的大小,1位用于表示符号. [int] 从 -2^31 (-2,147,483,648) 到 2^31 - 1 (2,147,483,647) 的整型数据…
cin.getline()函数是处理数组字符串的,其原型为cin.getline(char * , int),第一个参数为一个char指针,第二个参数为数组字符串长度. getline(cin,str)函数是处理string类的函数.第二个参数为string类型的变量. #include <iostream> #include <string> using namespace std; const int SIZE=20; int main() { string str; cout…
size_t是无符号的,并且是平台无关的,表示0-MAXINT的范围, 但是如果传入的是负数,会被编译成他的补码. size_t是标准规定的一个同义词,它的原始定义放在stddef.h里面,不同的环境下,可以是 typedef unsigned size_t; 也可以是 typedef unsigned long size_t;  此同义词最初源于sizeof的运算结果,因为sizeof的结果是非负的,因此采用了无符号类型.…