首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

C++中的强制类型转换

C++中的强制类型转换

oracle 的版本有:oracle 7 , oracle 8i, oracle 9i, oracle 10g, oracle 11g
oracle 分为3部分 : Application Server Control :  oracle 10g 的相关实例 、Database Control  : 数据库的实例、Grid Control  :  企业管理器网格控制器--》主要用于企业计算;
SQL*Plus 是用户在Oracle 环境下使用SQL语句的主要工具。可以定义和操作Oracle关系数据库的数据。
进入SQL *Plus 的方式有两种 :(1)图形模式的环境 ,(2)开始| 运行|cmd| enter | 键入'sqlplus'
退出SQL *Plus 的命令:                                      exit;
      sqlplusw --》 客户端
      sqlplus / noloy  只是启动了一个客户端,并没有与服务器链接;
      conn[ect] 用户名/密码 as 连接身份 @ 服务器连接字符 ; 连接orcale 的服务器 。
     身份:

sysdba :数据库管理员。权限包括; 打开数据库服务器,关闭数据库服务器,恢复数据,会话限制;
sys 用户必须用sysbda 的身份登录,system 用普通的身份登录。
sysyoper :数据库操作员。权限包括:打开数据库服务器,关闭数据库服务器,备份数据库,恢复数据库,日志归档,会话限制;
normal : 即 普通用户。权限只有查询某些数据表的数据,默认的身份为normal 用户
          startup mount : oracle 的例程启动,但是不打开数据库;在对数据库进行操作时会提醒你操作错误:没有打开数据库,要执
          行命令 alter database open

          shutdown  immediate  : oracle 的服务关闭;
      数据库的角色;
          CONNECT : 应用于临时用户,特别是不许要建表的用户,该角色的用户可以与服务器建立会话。
          RESOURCE : 提供用户另外的权限以创建它们的表,序列,过程,触发器,索引
          DBA角色 :  DAB role 拥有所有系统的权限。SYSTEM 拥有系统DBA 的权限
          授权 : GRANT 角色|权限  TO  用户(角色)  eg: GRANT CONNECT TO jerry
          回收 : REOVKE  角色|权限 F
C++的强制类型转换符有:reinterpret_cast、static_cast、dynamic_cast、const_cast.
1.reinterpret_cast:操作符修改了操作数类型,但仅仅是重新解释了给出的对象的比特模型,而没有进行二进
制转换.reinterpret_cast是为了映射到一个完全不同类型的意思,这个关键词在我们需要把类型映射回原有
类型时用到它.我们映射到的类型仅仅是为了故弄玄虚和其他目的,这是所有映射中最危险的.
2.static_cast<type>(expression):该运算符把expression转换为type类型,但没有运行时类型检查来保
证转换的安全性.它主要有如下几种用法:
1.用于类层次结构中父类和子类之间指针或引用的转换.
   进行上行转换(把子类的指针或引用转换成父类表示)是安全的;
   进行下行转换(把父类的指针或引用转换成子类表示)时,由于没有动态类型检查,所以是不安全的.
2.用于基本数据类型之间的转换,如把int转换成char,把int转换成enum.这种转换的安全性要开发人员保证.
3.把空指针转换成目标类型的空指针.
4.把任何类型的表达式转换成void类型.
注:static_cast不能转换掉expression的const、volatile或者__unaligned属性.
3.dynamic_cast<type>(expression):type必须是类的指针、类的引用或者void*;
如果type是类指针类型,那么expression也必须是一个指针,如果type是一个引用,那么expression也必须
是一个引用.dynamic_cast运算符可以在执行期决定真正的类型.如果downcast(向下转换)是安全的(也就是
说,如果父类指针或者引用确实指向一个子类对象)这个运算符会传回适当转型过的指针.如果downcast不安
全,这个运算符会传回空指针(也就是说,父类指针或者引用没有指向一个子类对象).dynamic_cast主要用于
类层次间的上行转换和下行转换,还可以用于类之间的交叉转换.在类层次间进行上行转换时,dynamic_cast
和static_cast的效果是一样的;在进行下行转换时,dynamic_cast具有类型检查的功能,比static_cast更
安全.
4.const_cast<type>(expression):该运算符用来修改类型的const或volatile属性.除了const或
volatile修饰之外,type和expression的类型是一样的.
1.常量指针被转换成非常量指针,并且仍然指向原来的对象;
2.常量引用被转换成非常量引用,并且仍然指向原来的对象;
3.常量对象被转换成非常量对象.
          修改 :    ALTER USER 用户名 IDENTIFIED BY 新密码 (修改用农户密码)
返回列表