来自当知百科
2010年7月16日 (五) 19:52老生常庸讨论 | 贡献的版本

(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳转到: 导航搜索

目录

英文翻译

  /di`li:t/

  v.tr.

  remove or obliterate(written or printed matter),esp.by strikingout

  (尤指划掉)删除,删去(手写话印刷内容)

  [Latin delēre delet-'efface']

  对于文件名shift+delete可彻底删除。按住 SHIFT 键再单击“关闭”按钮(一般适用)

Delete()过程

  语言:Pascal

  Procedure Delete(var S :String ; Index,Count:Integer) ;

  说明:Delete() 删除字符串S中从第Index个字符开始的Count个字符。

  若Index超出了S的长度,则不执行删除的操作。

  若Index+Count超出了S的长度,则删除从Index到S末尾的字符。

  若Index或Count出现负数,则不执行删除的操作。

  例如:

  Var S :String ='1234567890' ;

  执行 Delete(S,1,3) 后,S=‘4567890’ ;执行 Delete(S,9,8888)后,S='12345678'

  执行 Delete(S,99,2) 后,S=‘1234567890’ ;执行 Delete(S,-1,3)后,S=‘1234567890’new / delete的使用(仅限于c++,c中无这两个函数) 编程的时候经常要用到堆内存的分配,通常使用的操作符是new,这个时候就必然要用到delete函数去释放申请的内存空间。

  此时至少要遵循以下原则:

  (1)new和delete是成对出现的。只出现一个是错误的或不规范的写法,即时能编译通过,也会有安全隐患;

  (2)使用的new与delete要相同。也就是说如果你在 new 表达式中使用了 [],你必须在对应的 delete 表达式中使用[]。如果你在 new 表达式中没有使用 [],你也不必在对应的 delete 表达式中不使用 []。

  例:

  printf("-------- 使用 new / delete 情况 ---------------\n");

  string *p1=new string("123");//p1申请了一个空间

  printf("<%s>\n", p1->c_str());

  delete p1;//释放的时候释放一个就可以了

  printf("-------- 使用 new[] / delete[] 的情况 ---------------\n");

  int i;

  string* p2 = new string[5];//p2申请了一组空间

  for ( i=0; i< 5; i++ )

  {

  p2.assign("123");

  }

  for( i=0; i< 5; i++ )

  {

  printf("%d:%s\n", i, p2.c_str());

  }

  delete [] p2;//当然要释放一组了

SQL中的Delete

  其基本格式为 DELETE * FROM [表单名] WHERE 条件

Oracle中的Delete

  语法:DELETE [ FROM ] [user.]table [@db_link][Alias] [WHEREcondition];

  这里的condition 可以复杂的表达式或子查询。

  注意:删除记录并不能释放ORACLE里被占用的数据块表空间。它只把那些被删除的数据块标成unused。

个人工具
名字空间

变换
查看
操作
导航
工具箱