??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲国语精品自产拍在线观看 ,亚洲爆乳AAA无码专区,亚洲精品天堂成人片?V在线播放http://m.tkk7.com/iceboundrock/zh-cnSun, 11 May 2025 10:05:26 GMTSun, 11 May 2025 10:05:26 GMT60如何对付?sh)h郁闷的客??如何处理客户提出的需求变?/title><link>http://m.tkk7.com/iceboundrock/archive/2006/12/05/85619.html</link><dc:creator>iceboundrock</dc:creator><author>iceboundrock</author><pubDate>Tue, 05 Dec 2006 09:07:00 GMT</pubDate><guid>http://m.tkk7.com/iceboundrock/archive/2006/12/05/85619.html</guid><wfw:comment>http://m.tkk7.com/iceboundrock/comments/85619.html</wfw:comment><comments>http://m.tkk7.com/iceboundrock/archive/2006/12/05/85619.html#Feedback</comments><slash:comments>12</slash:comments><wfw:commentRss>http://m.tkk7.com/iceboundrock/comments/commentRss/85619.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/iceboundrock/services/trackbacks/85619.html</trackback:ping><description><![CDATA[刚刚看到有个哥们儿讲<a title="q就是我们的客户" href="/javajohn/archive/2006/11/08/74957.html#79811">他的客户让他很郁?/a>Q我有点x(chng)Q整理如下:(x)<br /><br />首先Q我觉得开发h员遇到这L(fng)郁闷是因为控刉求变更功夫没有做뀂原因有几点Q?br />1.涉及(qing)需求变更的东西不应该由最l用的用户和一U开发h员来沟通,q样的沟通费时费力而且不具有权威性?br />2.开发h员直接向客户汇报的工作量往(xin)往(xin)比实际工作量要低Q而且低的比较多。原因很单:(x)客户问开发h员(sh)个功能是否困隄时候,一般技术h员往(xin)往(xin)只考虑?jin)单功能的复杂度,而可能对q个需求变更对整个pȝ的工作量估计不Q比如美工的工作量、该功能引发的管理功能的工作量、测试工作量{等Q?br />q种情况?x)对目产生多个负面影响Qa.向客h供一个低于实际值的工作量,D客户期望高,而实际无法按时完成导致客户失望大Q降低用h意度。b.因ؓ(f)客户从开发h员口中听到的工作量L比从目l理口中听到的工作量低,造成客户寚w目组内部不一_(d)沟通不的感觉。c.因ؓ(f)客户从开发h员口中听到的工作量L比从目l理口中听到的工作量低,引诱客户喜欢直接向开发h员提出需求变_(d)造成恶性@环,直接D?jin)项目组没法按时拿到奖金Q士气下降?br /><br />所以对于客h出的需求变_(d)一般技术h员最好的处理方式是:(x)委婉的告诉客Pq个问题需要项目经理来评估。哪怕用L(fng)?xi)衅、教训的语气和你讲这个功能如何简单,如何如何可以实玎ͼ你都不能告诉他是否可以接受这个变_(d)更不能说实现需要多长时间?br />拒绝?jin)客户之后ƈ不是大功告成Q你最好能够早于客户通知自己的项目经理,客户惌行怎样的需求变_(d)你自己对工作量的评估是怎么L(fng)。这样可以给目l理一个准备时_(d)来完善的考虑需求变更的影响?br /><br />对于目l理Q尤其是从开发一U{向做目l理的兄弟,应该d的从目全局来考虑一个变更的影响Q而不是单U从技术角度考虑。最好能按照公司的规范和制度以及(qing)目实际情况q累一份check listQ以免在考虑需求变更时遗漏一些事V作为开发方更要强化对于需求变更的控制?br />控制需求变更最理想的办法当然是由客h、开发方的项目经理和需求顾问共同组lCCB(变更控制委员?sh)? <br />Q文档化所有需求变_(d)双方{֭然后归档需求变更。不q这h较难以实现。但是最L(fng)的要求是Q必ȝ客户斚w目经理(也就是甲Ҏ(gu)l用户需要把需求变更汇L告给甲方目l理Q向开发方目l理提出需求变_(d)开发方目l理评估工作量,q文化需求变_(d)在与客户方负责h充分沟通后Q用正式方式将沟通结果(最好是打印出来l甲方签字,最L(fng)是要求回执的?sh)子邮gQ通知客户。必要的时候需要业务h员协助,比如要求{v附加合同或者新开一个项目等{?br /><br />从我做项目几q的l验来看Q蛮不讲理的客户不是没有Q但是是极少敎ͼ大多数客P其是客h目l理都是通情辄的h。所以,只要你言之有理,Ҏ(gu)都有可能接纳?img src ="http://m.tkk7.com/iceboundrock/aggbug/85619.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/iceboundrock/" target="_blank">iceboundrock</a> 2006-12-05 17:07 <a href="http://m.tkk7.com/iceboundrock/archive/2006/12/05/85619.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>C++对象的构造、赋值和析构http://m.tkk7.com/iceboundrock/archive/2006/11/25/83459.htmliceboundrockiceboundrockSat, 25 Nov 2006 08:08:00 GMThttp://m.tkk7.com/iceboundrock/archive/2006/11/25/83459.htmlhttp://m.tkk7.com/iceboundrock/comments/83459.htmlhttp://m.tkk7.com/iceboundrock/archive/2006/11/25/83459.html#Feedback1http://m.tkk7.com/iceboundrock/comments/commentRss/83459.htmlhttp://m.tkk7.com/iceboundrock/services/trackbacks/83459.html C++ ?/span> C#/java 有很多区别,其中最大的区别当数对内存的理?/span>

C++ 中,cȝ使用者决定了(jin)cȝ实例内存?sh)(x)如何分配,分配在堆上还是栈上。我们先看一D例子程序:(x)

 (tng)

#include "stdio.h"

 (tng)

class Demo{

public :

 (tng) (tng) (tng) int i;

 (tng) (tng) (tng) char* objName;

 (tng) (tng) (tng) Demo(){

 (tng) (tng) (tng) (tng) (tng) (tng) (tng) objName = "Default object.";

 (tng) (tng) (tng) (tng) (tng) (tng) (tng) printf("%s, objName = %s\r\n", "Enter Demo default ctor. method.", objName);

 (tng) (tng) (tng) (tng) (tng) (tng) (tng)

 (tng) (tng) (tng) (tng) (tng) (tng) (tng) i = 1000;

 (tng) (tng) (tng) }

 (tng)

 (tng) (tng) (tng) Demo(int ival, char* name){

 (tng) (tng) (tng) (tng) (tng) (tng) (tng) printf("%s,i = %d, objName = %s\r\n", "Enter Demo(int ival) ctor method", ival, name);

 (tng) (tng) (tng) (tng) (tng) (tng) (tng) i = ival;

 (tng) (tng) (tng) (tng) (tng) (tng) (tng) objName = name;

 (tng) (tng) (tng) }

 (tng)

 (tng) (tng) (tng) Demo(const Demo& d){

 (tng) (tng) (tng) (tng) (tng) (tng) (tng) printf("%s\r\n", "Enter Demo copy ctor method.");

 (tng) (tng) (tng) (tng) (tng) (tng) (tng) i = d.i;

 (tng) (tng) (tng) (tng) (tng) (tng) (tng) objName = "copied d";

 (tng) (tng) (tng) }

 (tng)

 (tng) (tng) (tng) ~Demo(){

 (tng) (tng) (tng) (tng) (tng) (tng) (tng) printf("%s, i = %d, objName = %s\r\n", "Enter Demo dector. method" , i, objName);

 (tng) (tng) (tng) }

};

 (tng)

Demo& testMethod0(){

 (tng) (tng) (tng) printf("%s\r\n", "Enter testMethod0.");

 (tng) (tng) (tng) Demo d(0, "d in testMethod0");

 (tng) (tng) (tng) printf("%s\r\n", "Exit testMethod0.");

 (tng) (tng) (tng) return d;

}

 (tng)

Demo testMethod1(){

 (tng) (tng) (tng) printf("%s\r\n", "Enter testMethod1.");

 (tng) (tng) (tng) Demo d(1, "d in testMethod1");

 (tng) (tng) (tng) printf("%s\r\n", "Exit testMethod1.");

 (tng) (tng) (tng) return d;

}

 (tng)

Demo* testMethod2(){

 (tng) (tng) (tng) printf("%s\r\n", "Enter testMethod2.");

 (tng) (tng) (tng) Demo *d = new Demo(2, "d in testMethod2");

 (tng) (tng) (tng) printf("%s\r\n", "Exit testMethod2.");

 (tng) (tng) (tng) return d;

}

 (tng)

int main(int argc, _TCHAR* argv[])

{

 (tng) (tng) (tng) Demo d;

 (tng) (tng) (tng) d = testMethod1();

 (tng)

 (tng) (tng) (tng) Demo& d1 = testMethod0();

 (tng)

 (tng) (tng) (tng) Demo d2(999, "d1");

 (tng)

 (tng) (tng) (tng) Demo* d3 = testMethod2();

 (tng)

 (tng) (tng) (tng) printf("d.i = %d\r\n", d.i);

 (tng) (tng) (tng) printf("d1.i = %d\r\n", d1.i);

 (tng) (tng) (tng) printf("d2.i = %d\r\n", d2.i);

 (tng) (tng) (tng) printf("d3.i = %d\r\n", d3->i);

 (tng)

 (tng) (tng) (tng) delete d3;

 (tng) (tng) (tng) return 0;

}

 (tng)

Output Q?/span>

Enter Demo default ctor. method., objName = Default object.

Enter testMethod1.

Enter Demo(int ival) ctor method,i = 1, objName = d in testMethod1

Exit testMethod1.

Enter Demo copy ctor method.

Enter Demo dector. method, i = 1, objName = d in testMethod1

Enter Demo dector. method, i = 1, objName = copied d

Enter testMethod0.

Enter Demo(int ival) ctor method,i = 0, objName = d in testMethod0

Exit testMethod0.

Enter Demo dector. method, i = 0, objName = d in testMethod0

Enter Demo(int ival) ctor method,i = 999, objName = d1

Enter testMethod2

Enter Demo(int ival) ctor method,i = 2, objName = d in testMethod2

Exit testMethod2.

d.i = 1

d1.i = -2

d2.i = 999

d3.i = 2

Enter Demo dector. method, i = 2, objName = d in testMethod2

Enter Demo dector. method, i = 999, objName = d1

Enter Demo dector. method, i = 1, objName = copied d

 (tng)

?/span> C# 不同Q在 C++ 中,对象声明的时候就已经执行?jin)构造函敎ͼ比如上面例子?/span> main 函数中的W一行, Demo d Q从屏幕上的输出来看Q这个时?/span> Demo class 的默认构造函C(x)被调用?/span>

接下来的一行代码调用,引出?jin)很有趣的情况,当然也隐藏着不小的问题。这行代码造成?jin)一ơ构造函数调用,一ơ拷贝构造函数调用和两次析构函数调用。让我们来具体分析一下:(x)W一ơ调用构造函数很Ҏ(gu)理解Q因为在 testMethod1 中我们声明了(jin) Demo d(0) Q退?/span> testMethod1 Q函数的q回D赋值给变量 d2 Q这个时候, d2 被拷贝构造函数重新构造了(jin)一ơ。接着 testMethod1 中构造的局部变量被析构Q然后,居然拯构造函数构造的对象也被析构Q等{,看完所有输出,我们发现Q?/span> objName = copied d 的对象被析构两次Q?/span> objName = Default obj 的对象被构造出之后没有被析构,q里隐藏?jin)很严重的问题,有可能导致内存泄漏、句柄不能被正确关闭{等。另外,拯构造函数的执行可能D潜在的效率问题,考虑一个包含巨大矩늚对象Q?/span> copy q个对象?x)怎么P

 (tng)

接下来的一行代码, testMethod0 q回一个对象的引用Q当然不?x)导致拷贝构造函数被调用Q但是,q样也是有问题的Q在函数中声明的局部变量在函数执行完成的时候会(x)被析构,那么直接q回局部变量就可能?x)出现问题?/span> testMethod0 退Z后,他内部的 Demo 对象׃(x)自动析构Q外面对它的引用当然也无法指向正的对象?jin),所以后面程序打?/span> d.i 的时候,输出?jin)一个莫名其妙的 -2 ?/span>

 (tng)

效率最好的Ҏ(gu)当数q回指针?jin),它不会(x)导致对象复Ӟ如果使用得当Q也不会(x)D内存泄漏或者句柄泄漏?/span> testMethod2 演示?jin)这U情况,当然Q你需要手工删除在 testMethod2 中创建的对象?/span>

 (tng)

 (tng)



iceboundrock 2006-11-25 16:08 发表评论
]]>
C++中麻?ch)的constQ?Q?/title><link>http://m.tkk7.com/iceboundrock/archive/2006/11/22/82825.html</link><dc:creator>iceboundrock</dc:creator><author>iceboundrock</author><pubDate>Wed, 22 Nov 2006 09:03:00 GMT</pubDate><guid>http://m.tkk7.com/iceboundrock/archive/2006/11/22/82825.html</guid><wfw:comment>http://m.tkk7.com/iceboundrock/comments/82825.html</wfw:comment><comments>http://m.tkk7.com/iceboundrock/archive/2006/11/22/82825.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.tkk7.com/iceboundrock/comments/commentRss/82825.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/iceboundrock/services/trackbacks/82825.html</trackback:ping><description><![CDATA[ <p>关于constQC++的const是一个非帔R帔R?ch)的关键字,但是如果你不用,也?x)带来一些麻?ch)?/p> <p>下面一D늮单的E序Q演CZ(jin)const变量Qconst指针的奇妙关p?/p> <p> (tng)</p> <div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"> <span style="COLOR: #008080"> (tng)1</span> <img src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" /> <span style="COLOR: #000000">#include (tng)</span> <span style="COLOR: #000000">"</span> <span style="COLOR: #000000">stdafx.h</span> <span style="COLOR: #000000">"</span> <span style="COLOR: #000000"> <br /> </span> <span style="COLOR: #008080"> (tng)2</span> <span style="COLOR: #000000"> <img src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" /> <br /> </span> <span style="COLOR: #008080"> (tng)3</span> <span style="COLOR: #000000"> <img src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" /> <br /> </span> <span style="COLOR: #008080"> (tng)4</span> <span style="COLOR: #000000"> <img src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" /> </span> <span style="COLOR: #0000ff">int</span> <span style="COLOR: #000000"> (tng)_tmain(</span> <span style="COLOR: #0000ff">int</span> <span style="COLOR: #000000"> (tng)argc, (tng)_TCHAR</span> <span style="COLOR: #000000">*</span> <span style="COLOR: #000000"> (tng)argv[])<br /></span> <span style="COLOR: #008080"> (tng)5</span> <span style="COLOR: #000000"> <img id="Codehighlighter1_59_506_Open_Image" onclick="this.style.display='none'; Codehighlighter1_59_506_Open_Text.style.display='none'; Codehighlighter1_59_506_Closed_Image.style.display='inline'; Codehighlighter1_59_506_Closed_Text.style.display='inline';" src="http://m.tkk7.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /> <img id="Codehighlighter1_59_506_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_59_506_Closed_Text.style.display='none'; Codehighlighter1_59_506_Open_Image.style.display='inline'; Codehighlighter1_59_506_Open_Text.style.display='inline';" src="http://m.tkk7.com/images/OutliningIndicators/ContractedBlock.gif" align="top" /> </span> <span id="Codehighlighter1_59_506_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"> <img src="http://m.tkk7.com/images/dot.gif" /> </span> <span id="Codehighlighter1_59_506_Open_Text"> <span style="COLOR: #000000">{<br /></span> <span style="COLOR: #008080"> (tng)6</span> <span style="COLOR: #000000"> <img src="http://m.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" /> (tng)</span> <span style="COLOR: #0000ff">const</span> <span style="COLOR: #000000"> (tng)</span> <span style="COLOR: #0000ff">int</span> <span style="COLOR: #000000"> (tng)constInt1 (tng)</span> <span style="COLOR: #000000">=</span> <span style="COLOR: #000000"> (tng)</span> <span style="COLOR: #000000">1</span> <span style="COLOR: #000000">;<br /></span> <span style="COLOR: #008080"> (tng)7</span> <span style="COLOR: #000000"> <img src="http://m.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" /> <br /> </span> <span style="COLOR: #008080"> (tng)8</span> <span style="COLOR: #000000"> <img src="http://m.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" /> (tng)</span> <span style="COLOR: #0000ff">const</span> <span style="COLOR: #000000"> (tng)</span> <span style="COLOR: #0000ff">int</span> <span style="COLOR: #000000"> (tng)</span> <span style="COLOR: #000000">*</span> <span style="COLOR: #000000">constIntPoint (tng)</span> <span style="COLOR: #000000">=</span> <span style="COLOR: #000000"> (tng)NULL;<br /></span> <span style="COLOR: #008080"> (tng)9</span> <span style="COLOR: #000000"> <img src="http://m.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" /> <br /> </span> <span style="COLOR: #008080">10</span> <span style="COLOR: #000000"> <img src="http://m.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" /> (tng)</span> <span style="COLOR: #0000ff">int</span> <span style="COLOR: #000000"> (tng)</span> <span style="COLOR: #000000">*</span> <span style="COLOR: #000000">IntPoint (tng)</span> <span style="COLOR: #000000">=</span> <span style="COLOR: #000000"> (tng)NULL;<br /></span> <span style="COLOR: #008080">11</span> <span style="COLOR: #000000"> <img src="http://m.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" /> <br /> </span> <span style="COLOR: #008080">12</span> <span style="COLOR: #000000"> <img src="http://m.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" /> (tng)constIntPoint (tng)</span> <span style="COLOR: #000000">=</span> <span style="COLOR: #000000"> (tng)</span> <span style="COLOR: #000000">&</span> <span style="COLOR: #000000">constInt1;<br /></span> <span style="COLOR: #008080">13</span> <span style="COLOR: #000000"> <img src="http://m.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" /> <br /> </span> <span style="COLOR: #008080">14</span> <span style="COLOR: #000000"> <img src="http://m.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" /> (tng)</span> <span style="COLOR: #0000ff">const</span> <span style="COLOR: #000000"> (tng)</span> <span style="COLOR: #0000ff">int</span> <span style="COLOR: #000000"> (tng)constInt2 (tng)</span> <span style="COLOR: #000000">=</span> <span style="COLOR: #000000"> (tng)</span> <span style="COLOR: #000000">2</span> <span style="COLOR: #000000">;<br /></span> <span style="COLOR: #008080">15</span> <span style="COLOR: #000000"> <img src="http://m.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" /> <br /> </span> <span style="COLOR: #008080">16</span> <span style="COLOR: #000000"> <img src="http://m.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" /> (tng)</span> <span style="COLOR: #0000ff">int</span> <span style="COLOR: #000000"> (tng)I(yng)nt3 (tng)</span> <span style="COLOR: #000000">=</span> <span style="COLOR: #000000"> (tng)</span> <span style="COLOR: #000000">3</span> <span style="COLOR: #000000">;<br /></span> <span style="COLOR: #008080">17</span> <span style="COLOR: #000000"> <img src="http://m.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" /> (tng)<br /></span> <span style="COLOR: #008080">18</span> <span style="COLOR: #000000"> <img src="http://m.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" /> (tng)</span> <span style="COLOR: #008000">//</span> <span style="COLOR: #008000">IntPoint (tng)= (tng)&constInt2; (tng)</span> <span style="COLOR: #008000">//</span> <span style="COLOR: #008000">Error (tng)1</span> <span style="COLOR: #008000"> <br /> </span> <span style="COLOR: #008080">19</span> <span style="COLOR: #008000"> <img src="http://m.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" /> </span> <span style="COLOR: #000000"> <br /> </span> <span style="COLOR: #008080">20</span> <span style="COLOR: #000000"> <img src="http://m.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" /> <br /> </span> <span style="COLOR: #008080">21</span> <span style="COLOR: #000000"> <img src="http://m.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" /> (tng)constIntPoint (tng)</span> <span style="COLOR: #000000">=</span> <span style="COLOR: #000000"> (tng)</span> <span style="COLOR: #000000">&</span> <span style="COLOR: #000000">Int3;<br /></span> <span style="COLOR: #008080">22</span> <span style="COLOR: #000000"> <img src="http://m.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" /> <br /> </span> <span style="COLOR: #008080">23</span> <span style="COLOR: #000000"> <img src="http://m.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" /> (tng)</span> <span style="COLOR: #008000">//</span> <span style="COLOR: #008000">(*constIntPoint)++; (tng)</span> <span style="COLOR: #008000">//</span> <span style="COLOR: #008000">Error (tng)2</span> <span style="COLOR: #008000"> <br /> </span> <span style="COLOR: #008080">24</span> <span style="COLOR: #008000"> <img src="http://m.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" /> </span> <span style="COLOR: #000000"> <br /> </span> <span style="COLOR: #008080">25</span> <span style="COLOR: #000000"> <img src="http://m.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" /> (tng)printf(</span> <span style="COLOR: #000000">"</span> <span style="COLOR: #000000">constInt1=%d\r\n</span> <span style="COLOR: #000000">"</span> <span style="COLOR: #000000">, (tng)constInt1);<br /></span> <span style="COLOR: #008080">26</span> <span style="COLOR: #000000"> <img src="http://m.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" /> (tng)printf(</span> <span style="COLOR: #000000">"</span> <span style="COLOR: #000000">constInt2=%d\r\n</span> <span style="COLOR: #000000">"</span> <span style="COLOR: #000000">, (tng)constInt2);<br /></span> <span style="COLOR: #008080">27</span> <span style="COLOR: #000000"> <img src="http://m.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" /> (tng)printf(</span> <span style="COLOR: #000000">"</span> <span style="COLOR: #000000">Int3=%d\r\n</span> <span style="COLOR: #000000">"</span> <span style="COLOR: #000000">, (tng)I(yng)nt3);<br /></span> <span style="COLOR: #008080">28</span> <span style="COLOR: #000000"> <img src="http://m.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" /> <br /> </span> <span style="COLOR: #008080">29</span> <span style="COLOR: #000000"> <img src="http://m.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" /> (tng)printf(</span> <span style="COLOR: #000000">"</span> <span style="COLOR: #000000">constIntPoint (tng)point (tng)to (tng)%d\r\n</span> <span style="COLOR: #000000">"</span> <span style="COLOR: #000000">, (tng)</span> <span style="COLOR: #000000">*</span> <span style="COLOR: #000000">constIntPoint);<br /></span> <span style="COLOR: #008080">30</span> <span style="COLOR: #000000"> <img src="http://m.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" /> (tng)</span> <span style="COLOR: #0000ff">return</span> <span style="COLOR: #000000"> (tng)</span> <span style="COLOR: #000000">0</span> <span style="COLOR: #000000">;<br /></span> <span style="COLOR: #008080">31</span> <span style="COLOR: #000000"> <img src="http://m.tkk7.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span> </span> <span style="COLOR: #000000"> <br /> </span> <span style="COLOR: #008080">32</span> <span style="COLOR: #000000"> <img src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" /> <br /> </span> <span style="COLOR: #008080">33</span> <span style="COLOR: #000000"> <img src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" /> </span> </div> <p> <br />最单最清晰的const使用Ҏ(gu)是声明const变量?jin),变量需要在生命的地方立卛_始化Q初始化完成之后׃能再改了(jin)?/p> <p>如果你用同样的思\来看待const指针Q你?x)发C错的很严重,你看Q这个constIntPoint换了(jin)几个目标依然生龙z虎Q编译器很愉快的接受?jin)这D代码,q个warn都没有?br />原来const指针是指向const变量的指针,而不是说指针本n是const的。无</p> <p>okQconst变量不能直接修改Q难道我取到他的地址Q再来修攚w不行么?不行Q编译器?x)直接告诉你Q无法把一个const的指针{换成普通指针,<br /><br />Error (tng)1 (tng)error C2440: '=' : cannot convert from 'const int *__w64 ' to 'int *' (tng)</p> <p>Z个变量原来是否被声明成constQ你用一个const指针指向它,然后使用*q算W号取出q个变量试图q行修改的操作都是不允许的,参考代码中被注释掉的Error2?br /><br />Error (tng)2 (tng)error C3892: 'constIntPoint' : you cannot assign to a variable that is const (tng)<br /></p> <img src ="http://m.tkk7.com/iceboundrock/aggbug/82825.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/iceboundrock/" target="_blank">iceboundrock</a> 2006-11-22 17:03 <a href="http://m.tkk7.com/iceboundrock/archive/2006/11/22/82825.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>重拾C++http://m.tkk7.com/iceboundrock/archive/2006/11/22/82813.htmliceboundrockiceboundrockWed, 22 Nov 2006 08:34:00 GMThttp://m.tkk7.com/iceboundrock/archive/2006/11/22/82813.htmlhttp://m.tkk7.com/iceboundrock/comments/82813.htmlhttp://m.tkk7.com/iceboundrock/archive/2006/11/22/82813.html#Feedback0http://m.tkk7.com/iceboundrock/comments/commentRss/82813.htmlhttp://m.tkk7.com/iceboundrock/services/trackbacks/82813.html打算借着q次复习(fn)数据l构与算法的Z(x)重拾C++。今天做?jin)两个容器类Q发现很多基语法的东西我都已记得l模׃可了(jin)QsighQ看来真是要努力才行?jin)?img src ="http://m.tkk7.com/iceboundrock/aggbug/82813.html" width = "1" height = "1" />

iceboundrock 2006-11-22 16:34 发表评论
]]>
Z么C++~译器不能支持对模板的分d~译QZTQ?/title><link>http://m.tkk7.com/iceboundrock/archive/2006/10/08/73771.html</link><dc:creator>iceboundrock</dc:creator><author>iceboundrock</author><pubDate>Sun, 08 Oct 2006 05:31:00 GMT</pubDate><guid>http://m.tkk7.com/iceboundrock/archive/2006/10/08/73771.html</guid><wfw:comment>http://m.tkk7.com/iceboundrock/comments/73771.html</wfw:comment><comments>http://m.tkk7.com/iceboundrock/archive/2006/10/08/73771.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.tkk7.com/iceboundrock/comments/commentRss/73771.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/iceboundrock/services/trackbacks/73771.html</trackback:ping><description><![CDATA[     摘要: 转脓(chung)自:(x)http://blog.csdn.net/pongba/archive/2003/10/24/19130.aspxQ作者:(x)刘未鹏?tng)首先,C++标准中提刎ͼ一个编译单元[translation unit]是指一?cpp文g以及(qing)它所include的所?h文gQ?h文g里的代码会(x)被扩展到包含它的.cpp文g里,然后~译器编译该.cpp文gZ?obj文gQ后者拥有PE[Portable ...  <a href='http://m.tkk7.com/iceboundrock/archive/2006/10/08/73771.html'>阅读全文</a><img src ="http://m.tkk7.com/iceboundrock/aggbug/73771.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/iceboundrock/" target="_blank">iceboundrock</a> 2006-10-08 13:31 <a href="http://m.tkk7.com/iceboundrock/archive/2006/10/08/73771.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Windowspȝ常用免费软ghttp://m.tkk7.com/iceboundrock/archive/2006/09/25/71835.htmliceboundrockiceboundrockMon, 25 Sep 2006 14:13:00 GMThttp://m.tkk7.com/iceboundrock/archive/2006/09/25/71835.htmlhttp://m.tkk7.com/iceboundrock/comments/71835.htmlhttp://m.tkk7.com/iceboundrock/archive/2006/09/25/71835.html#Feedback0http://m.tkk7.com/iceboundrock/comments/commentRss/71835.htmlhttp://m.tkk7.com/iceboundrock/services/trackbacks/71835.html?sh)子邮gQThunderbird
开发工P(x)
.net 1.1qSharpDevelop
.net 2.0qVS Expresspd
辅助工具有:(x)Reflector?netcd、Snipt Code
java和j2ee用Eclipse+WTP?br />.net framewok SDK、Windows SDK和jdk也都是免费的Q里面也有文档?br />文本比较工具用WinMerge

版本控制Q?br />CVS客户端用Eclipse内置的或者TortoiseCVS
SVN客户端用SVN的Eclipse插g和TortoiseSVN
CVS服务器用CVS NT
SVN服务器用SVN

Debug Release版本或者生产环境的.netE序或者C++E序E序可以用Windbg。SysInternals的一pd工具也是排错利器啊?br />压力试用JMeter和MS Web Stress Tool都还?sh)错?br />查看IE中的Http头可以用ieHttpHeaders

抓取|络包可以用Ethereal
 (tng)
文本~辑器:(x)Notepad++、Notepad2 Q如果编辑Python代码Q用Vim更好?br />
览囄qpȝ内置的那个,Picasc2也不错,囄处理可以用MS Paint、Paint.Net或者GIMP?br />
听歌用foobar2000 QW(xu)inamp也是免费的,W(xu)indows Media Player和iTunes虽然比较大,但是功能齐全也算不错的选择?br />压羃解压~用Q?-zip
聊天更多了(jin)Qmsn/qq/gtalk都是免费的。下载用FlashGet和Gigaget?
d列表用的是codeproject上的一个免费工?todolist?制定目计划可以用openworkbench?br />看文一般都是chm的,pdfq是用acrobat reader 7.08

q接Telnet服务器或者SSH服务器可以用putty。FTP、SFTP客户端用WinSCP?br />Mindmap用FreeMind


iceboundrock 2006-09-25 22:13 发表评论
]]>
商战说http://m.tkk7.com/iceboundrock/archive/2006/08/31/66924.htmliceboundrockiceboundrockThu, 31 Aug 2006 10:38:00 GMThttp://m.tkk7.com/iceboundrock/archive/2006/08/31/66924.htmlhttp://m.tkk7.com/iceboundrock/comments/66924.htmlhttp://m.tkk7.com/iceboundrock/archive/2006/08/31/66924.html#Feedback0http://m.tkk7.com/iceboundrock/comments/commentRss/66924.htmlhttp://m.tkk7.com/iceboundrock/services/trackbacks/66924.html 圈子圈套 1

圈子圈套 2

圈套玄机

输赢



iceboundrock 2006-08-31 18:38 发表评论
]]>
再谈在Windows中配|Apache 2.0+php5+MySQL5http://m.tkk7.com/iceboundrock/archive/2006/08/10/62695.htmliceboundrockiceboundrockWed, 09 Aug 2006 17:44:00 GMThttp://m.tkk7.com/iceboundrock/archive/2006/08/10/62695.htmlhttp://m.tkk7.com/iceboundrock/comments/62695.htmlhttp://m.tkk7.com/iceboundrock/archive/2006/08/10/62695.html#Feedback0http://m.tkk7.com/iceboundrock/comments/commentRss/62695.htmlhttp://m.tkk7.com/iceboundrock/services/trackbacks/62695.html  (tng) (tng) (tng) |络上对于这个问题的解决Ҏ(gu)q是非常多的Q但是大多都要求 copy 一些文件到 Windows 或?/span> System32 目录中,昑־不够优雅?/span> 我参考了(jin) php 的用h册和 MySQL 的网站,扑ֈ?jin)一个不需要拷贝文件的解决Ҏ(gu)?br /> (tng) (tng) (tng) 首先是准备步骤,具体如下Q?/span>

1. ?/span> php 5.1.4 的压~包解压?/span> D:\php Q复?/span> php.ini-recommended ?/span> php.ini

2. 安装 apache2.0.59

3. 安装 MySQL5

4. 备䆾?/span> Apache Group\Apache2\conf ”文件夹

5. ?/span> MySQL |站下蝲 MySQL Connector/PHP 的文Ӟ下蝲 mysql extension (PHP 5.1.4) for MySQL Server 5.0.22 的那个包?/span>

 (tng)

下面说一下如何配|?/span>

修改 Apache ?/span> httpd.conf 文g

1. (tng) (tng) (tng) (tng) (tng) (tng) 加入 PHPIniDir 变量Q设定加?/span> php5 模块的\径;讑֮ .php 文gcd的处理方式。具体代码如下:(x)

#php config

LoadModule php5_module "d:/php/php5apache2.dll"

AddType application/x-httpd-php .php

PHPIniDir "D:/php/"

2. (tng) (tng) (tng) (tng) (tng) (tng) ?/span> index.php 加入 DirectoryIndex 变量中。具体代码如下:(x)

DirectoryIndex index.html index.html.var index.php

更新 MySQL Connector/PHP

解压 MySQL Connector/PHP 压羃包到 D:\php Qƈ?/span> php_mysql.dll 拯?/span> D:\php\ext

修改 php.ini

1Q?span style="FONT: 7pt 'Times New Roman'"> (tng) 修改 include_path = ".;d:\php\PEAR"

2Q?span style="FONT: 7pt 'Times New Roman'"> (tng) 修改 extension_dir = "D:\php\ext"

3Q?span style="FONT: 7pt 'Times New Roman'"> (tng) 取消 extension=php_mysql.dll 前面的分?/span>

4Q?span style="FONT: 7pt 'Times New Roman'"> (tng) 取消 extension=php_gd2.dll 前面的分?/span>

 (tng)

配置到这里就完成?jin),Z(jin)试效果Q可以在?/span> Apache Group\Apache2\htdocs ”文件夹中徏立一个名?/span> phpinfo.php 的文Ӟ内容如下Q?/span>

<?php

$link=mysql_connect('localhost','test','test'); // 用户和密?/span> , h据你自己的情冉|?/span>

if(!$link) echo "fail";

else echo "success";

mysql_close();

echo phpinfo();

?>

 (tng)

然后讉K http://localhost/phpinfo.php Q如果页面最端上打印出 success Q说明设定成功,否则可以Ҏ(gu) phpinfo 的结果看看问题所在?/span>

 (tng)

 (tng)



iceboundrock 2006-08-10 01:44 发表评论
]]>
一个事件的基类Q目标ؓ(f)改进j2sdk中的Observerhttp://m.tkk7.com/iceboundrock/archive/2006/04/27/43442.htmliceboundrockiceboundrockWed, 26 Apr 2006 16:02:00 GMThttp://m.tkk7.com/iceboundrock/archive/2006/04/27/43442.htmlhttp://m.tkk7.com/iceboundrock/comments/43442.htmlhttp://m.tkk7.com/iceboundrock/archive/2006/04/27/43442.html#Feedback2http://m.tkk7.com/iceboundrock/comments/commentRss/43442.htmlhttp://m.tkk7.com/iceboundrock/services/trackbacks/43442.html阅读全文

iceboundrock 2006-04-27 00:02 发表评论
]]>
一个枚丄型的基类for j2se 1.4http://m.tkk7.com/iceboundrock/archive/2006/04/26/43427.htmliceboundrockiceboundrockWed, 26 Apr 2006 14:09:00 GMThttp://m.tkk7.com/iceboundrock/archive/2006/04/26/43427.htmlhttp://m.tkk7.com/iceboundrock/comments/43427.htmlhttp://m.tkk7.com/iceboundrock/archive/2006/04/26/43427.html#Feedback0http://m.tkk7.com/iceboundrock/comments/commentRss/43427.htmlhttp://m.tkk7.com/iceboundrock/services/trackbacks/43427.html阅读全文

iceboundrock 2006-04-26 22:09 发表评论
]]>
վ֩ģ壺 ëƬһëƬ| 2016| aaaëƬƵѹۿ| AVþþƷ| 91˳վɫwww| ɫwwwվ| þþƵ| caopormѹƵ| ޻ɫƵ| պ޾Ʒ| ޷츾| gayˬˬƵ| ˾þô߽槼| ֳִˬƵ| Ʒѹۿ| ձһ߲Ͷ | 97߹ۿƵ| һһˬһ߽дƵ| һ߲ͨ| vaþþþͬ | һ˿wwwƵ| һƵ | Ʒһþ | ³˿Ƭһ| ƴƬ30ѿ| ˳վ߹ۿŶ| ˳߹ۿ| ֻƬþù| AVַ߹ۿ| þaaëƬѲŰ| ѹۿվ| 3344߿Ƭ| һ߹ۿ| վѹۿ| VAѾƷ| ѹҹ߹ۿ| A߹ۿƵ| ƷƵ| ŮڵƵ | ȫ»ɫؼվ| ޾Ʒmv߹ۿ|