随笔 - 40, 文章 - 0, 评论 - 19, 引用 - 0
数据加载中……

RHASHMAP Remove USER 208

@import url(http://www.cppblog.com/CuteSoft_Client/CuteEditor/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css);
 1 for (CImageIndexItem* const* p = iter.NextValue(); p; p = iter.NextValue() )
 2     {
 3         if(*p)
 4         {
 5             TTime temp((*p)->iImageTime );
 6             TTimeIntervalDays iInterval = homeTime.DaysFrom(temp);
 7             if(iInterval.Int() > 2)
 8             { 
 9                 //如果超出期限,删除本地图片文件           
10                 (*p)->DeleteBitmap();               
11                 TBuf8<64> iname;
12                 iname.Copy( *((*p)->iImageName) );
13                 delete *p;
14                 TInt why = iImageIndexArrayHashMap->Remove(iname);
15                 iter.Reset();
16             }            
17         }        
18     }

图片引擎使用了RHashMap,结果在RHashMap::Remove的时候出现了很奇怪的问题,指针*p执行完Remove后被改变了指向地址,造成再次调用出现空指针错误,将对*p的调用调至Remove语句之上,在循环中会出现User208错误,根据官方的文档描述如下:This panic is raised by the member function Next() of the internal class THashTableIterBase if, while attempting to step a hash table iterator to the next entry, the iterator is found to point to an invalid table entry. This will typically occur if elements have been removed from the hash table without resetting the iterator. 于是在Remove之后添加iter.Reset(),问题解决,不过仍然不了解Remove里面对其做了什么操作造成类似的问题,Mark求解

posted @ 2011-11-15 12:09 hadn't 阅读(200) | 评论 (0)编辑 收藏

Undefined symbol: 'int operator==(enum TTrue, int)

Symbian C++ :

Undefined symbol: 'int operator==(enum TTrue, int)

TBool is ;
if( is == ETrue );

这种写法是错误的不能build
正确的方法是写成       if( is )

而且即使这种是正确的,写类似的代码也看起来太差劲了!

@import url(http://www.cppblog.com/CuteSoft_Client/CuteEditor/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css);

posted @ 2011-10-31 19:43 hadn't 阅读(202) | 评论 (0)编辑 收藏

上班2个月了

      很久没有更新我的Blog了,当然,之前写的也不怎么样:)
      我今年本科毕业,7月5日入职新浪,到今天,已经两个月+1了,目前负责手机微博Symbian客户端触屏版的开发,我的weibo,以后还是继续更新blog吧,见证我的职业生涯。

posted @ 2011-09-06 09:53 hadn't 阅读(236) | 评论 (1)编辑 收藏

QT Creator 代码自动补全

用QT Creater编程,如果没有自动补全是很痛苦的事情,于是便查阅了QT的文档,发现CTRL+SPACE是自动补全的快捷键;
但是在 Creater里使用居然没有效果,估计是输入法切换的冲突(CTRL+SPACE是我中英文输入的默认快捷键)
于是寻求解决方法,在QT Creater->Tools->Options... 里找到environment->Keyboard,发现TextEditor.CompleteThis命令,其快捷键是Ctrl+Space
再后面添加Alt+/ (Eclipse里习惯的~~)后应用退出,再次进入Editor,仍旧无效果,重新找到TextEditor.CompleteThis点击那个红叉叉,将原快捷键删除后,添加Alt+/
成功,代码提示顺利。

posted @ 2010-05-05 08:34 hadn't 阅读(5680) | 评论 (0)编辑 收藏

递归实现将字符串n长以后的字符整体挪成字符串的前缀

题目要求不能开额外的数组,空间不允许
要求完成以下结果,比如输入abcdefgh 给定n为3则使得字符数组顺序变为defghabc
递归实现如下:

#include<stdio.h>
#include
<string.h>

void swap(char *s1 ,int ls1, char *s2,int ls2){
    
if(ls1 == 0 || ls2 == 0return;
    
if(ls1 == ls2){
            
for(int i = 0 ; i < ls1 ; i++ ){
                s1[i] 
= s1[i] + s2[i];
                s2[i] 
= s1[i] - s2[i];
                s1[i] 
= s1[i] - s2[i];
            }

    }

    
else if(ls1 < ls2){
            swap(s1,ls1,s2,ls1);
            swap(s2,ls1,s2
+ls1,ls2-ls1);
    }

    
else {
            swap(s1
+ls1-ls2,ls2,s2,ls2);
            swap(s1,ls1
-ls2,s1+ls1-ls2,ls2);
    }

}

int main(){
    
char s[100];
    scanf(
"%s",s);
    
int n ;
    scanf(
"%d",&n);
    
int len = strlen(s);
    swap(
&s[0],n,&s[n],len-n);
    printf(
"%s\n",s);
    
return 0;
}

posted @ 2010-04-27 19:40 hadn't 阅读(163) | 评论 (0)编辑 收藏

Java实验之简易通讯录

     摘要: Java对文件进行了读写操作,信息存储在phonesnumber.txt里面 //Main.javapackage exp5_5;import java.io.IOException;public class Main {    /** *//**    &...  阅读全文

posted @ 2010-04-26 21:20 hadn't 阅读(583) | 评论 (2)编辑 收藏

最大流最小割定理证明

最大流最小割定理:最大流等于最小割,即max V(f) = min C(U, W)。


说明,自己的证法,如有错误请大家提出:
声明:最大流=|f|,割为=|[S,T]|
1、|[S,T]| >=  |f| (易知,最大流可能比管子粗细还大?)
2、有如果有Df( |[S,T]| ) = 0 ,则一定是最大流(否则最大流的多于|[S,T]|的流量从何处流...)
3、如果当前流量已经最大,从源到汇的任意一条路径一定有饱和边(增广路法则)
4、*反证,如果对任意S,T没有Df( |[S,T]| ) = 0
   取S ={源点},T={V-S};则有源点连接未饱和管道的另一端点K,然后取S={源点,K},T={V-S},则有源点连接未饱和管道的另一端点K1,然后取S={源点,K,K1},T={V-S},则有源点连接未饱和管道的另一端点K2.........当V-S = 汇点,我们发现源点,K,K1,K2,K3....汇点,为一条增广路(可能K1,K2不相连,而直接源点,K,K2)
 得证。

posted @ 2010-04-26 16:03 hadn't 阅读(2813) | 评论 (2)编辑 收藏

Thinking in c++ 学习笔记(一)

这是本入门的好书,讲解详细容易理解,而且很重视细节。
       第一章看了一遍感触还不是特深,当学习后面的比较完成的时候要重新阅读理解一遍。
       二三章已经读完,对预处理宏,函数指针,输入输出流有了一些新的认识。
       正在学习第四章,重点是oop的思想~
写的小结程序:
#include<iostream>
#define PRINT(STR) cout << #STR " "<< STR << endl;
#define MAX(A,B) A>B?A:B;

using namespace std;
extern int a;//声明

void * (*(fp1)(int x))[5]{
    
void* y[5];
    
void* (*p)[5];
    p 
= &y;
    cout 
<< (long) p << endl;
    p
+=x;
    
return p;
}


int main(){
    cout 
<< (long) fp1(100<< endl;

    
int a = 10;//定义
   
// char s1[]="Hongtao";
   
// char s2[]="zhy";
    string s1("Hongtao");
    
string s2("zhy");
    cout 
<< a << endl;
    cout 
<< "a bnu study"
            
"\n"
            
"what?" << endl;
    cout 
<< dec << 15 << endl;
    cout 
<< oct << 15 << endl;
    cout 
<< hex << 15 << endl;
    cout 
<< char(15<< endl;
    cout 
<< s1 + s2 + "!" << endl;
    PRINT(s1);
    a 
=  MAX(1,2);
    PRINT(a);
    a 
= MAX(4,3);
    PRINT(a);
    
return 0;
}


// static 内部连接 extern 外部连接 const 常量不变 volatile 不稳定量,不要编译器优化

posted @ 2010-04-22 11:25 hadn't 阅读(159) | 评论 (0)编辑 收藏

contest_standing

     摘要: http://www.w3school.com.cn/php/index.asp这里的函数查询很好array相关函数str相关函数很有用~PHP5.1以上时区需要设置: ini_set('date.timezone','Asia/Shanghai'); <?php      include_once "../conn....  阅读全文

posted @ 2010-04-09 17:54 hadn't 阅读(114) | 评论 (0)编辑 收藏

QtCreater Qt_for_Symbian 环境配置

折腾了一下午才配好了QtCreater+S60_sdk+Qt_for_Symbian的配置
在虚拟机中运行写的QT小程序如下:

注意几个问题:

一个是Qt_for_Symbian(4.6.2)最好最后装,这样QtCreater直接能够识别s60sdk和CSL和Carbide的目录

二是要注意将环境变量都配置好(运行Carbide安装后的“Configure environment for WINSCW command line”)

三是build成功却无法运行在虚拟机上的注意了,QtCreater的Projects选项卡中General部分要选择Show Details
Tool Chain 选择成WINSCW

如果有想搭这么个环境而犯愁有问题的 可以给我Email : hongtaozhy@qq.com  。。我悲剧这么久希望能帮到大家~


posted @ 2010-04-01 23:42 hadn't 阅读(427) | 评论 (0)编辑 收藏

仅列出标题
共4页: 1 2 3 4