CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C/C++ >  C++ 语言

关于C++的强类型传换!!!!

楼主lbsjs(纪舒)2004-08-02 22:52:47 在 C/C++ / C++ 语言 提问

比如atoi函数将字符串"123"   返回一个int   123;  
  #include   <iostream>  
  using   namespace   std;  
   
  int   atoi(const   char*);  
  int   main()  
  {  
    char*   a   =   "1234";  
    int   c   =   atoi(a);  
    cout   <<   c   <<   endl;  
    system("pause");  
  }    
     
   
  int   atoi(const   char*   a)  
  {  
    int   c   =   reinterpret_cast<int>(a);  
    return   c;      
  }            
  可是不行呀。   reinterpret_cast返回的一定是指针吗?我的书上写的不明不白的。 问题点数:10、回复次数:4Top

1 楼Andy84920(你也不懂)回复于 2004-08-02 23:00:18 得分 5

reinterpret_cast通常对于操作数的"位模式"执行一个比较低层次  
  的重新解释.  
  Top

2 楼UPCC(杂食动物)回复于 2004-08-02 23:02:14 得分 5

atoi首先在标准库定义了,你在这里定义会编译不通过的。  
   
  而且int   c   =   reinterpret_cast<int>(a);c获得的是a的第一个字符的地址,因为地址的位数和指针一样大所以没事,你可以这样看看  
   
  cout   <<   (char*)c   <<   endl;  
   
  输出为1234Top

3 楼lbsjs(纪舒)回复于 2004-08-03 00:15:56 得分 0

比如atoi函数将字符串"123"   返回一个int   123;  
   
  谁知道这样的函数怎么实现吗??  
   
  Top

4 楼luomingmao129(小猫)回复于 2004-08-03 12:59:38 得分 0

你的意思是将一个字符串变成一个整形常量,可是可以,不过好象要将"123"这样的字符串变成整形123应该不可能吧!Top

相关问题

  • Document object內指定element传换成Document object 类型 求教
  • C++中的强制类型转换
  • 为什么说C是弱类型的语言,C++是强类型?
  • c类型转换为c#
  • c类型转换为c#
  • C#类型转换
  • C++类型转换
  • 请问一下把int 转换成byte[]存在mssql数据库的binary类型的字段中,如何取值并传换成int?
  • c++中有bool类型吗?
  • 类型转换:《Thinking in C++》

关键词

  • 指针
  • atoi
  • reinterpret
  • 定义
  • cast
  • 地址
  • 返回
  • cout
  • char

得分解答快速导航

  • 帖主:lbsjs
  • Andy84920
  • UPCC

相关链接

  • C/C++ Blog
  • C/C++类图书
  • C/C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo