能力值:
( LV13,RANK:290 )
|
-
-
101 楼
哪里是什么大牛,,,纯属讨论,娱乐大众。
技术上我只认对的,其他不管。
顶到100楼,然后洗澡睡觉。呵呵
|
能力值:
( LV8,RANK:130 )
|
-
-
102 楼
水平一目了然。
|
能力值:
(RANK:380 )
|
-
-
103 楼
killer来大连一起小坐了一会,感觉人不错。根据网上朋友的评价,我认为技术上没有什么问题。至于发的考试题目比较大,我觉得可能是找带领团队的人而不是一般的员工,那么给一个大一点的题目是很正常的事情。楼主是应聘的那么心态就要放正,你可以不去也可以私下沟通为什么认为你的代码错了,把考试的题目发上来就不太合适了。应该看到机遇和挑战,而不是把别人想得那么不堪,个人言论仅供参考。
|
能力值:
( LV9,RANK:170 )
|
-
-
104 楼
昨天还很爽,今天看到你又要注销帐号,这情感起伏大呀
|
能力值:
( LV12,RANK:210 )
|
-
-
105 楼
C++代码如看天书。。。
|
能力值:
( LV2,RANK:10 )
|
-
-
106 楼
巡警这道面试题,我也是知道的,和楼主写的测试题有些出入,并且里面是包含有指针的。如果使用楼主的拷贝构造会出现什么问题呢,两个对象里的成员指针指向同一个内存,相信你写代码的话,如果是指针是申请的内存都会释放,那么这样会出现什么情况,假设拷贝构造传进来的对象的成员指针是申请的一个堆空间,那么会出现两个指针指向同一个堆空间,析构的时候同一块堆内存将会释放两次,导致软件崩溃。但是你可能会认为加个引用计数就好了,但是你写出来的测试代码也没有引用计数的使用,所以在这样环境下,在拷贝构造里单独使用*this = objA是有隐含问题的。
|
能力值:
( LV9,RANK:165 )
|
-
-
107 楼
C++自学的已经快忘光了。。。
|
能力值:
( LV13,RANK:290 )
|
-
-
108 楼
拜托,为什么要 两个对象里的成员指针指向同一个内存,需要自己new内存啊,两个对象里的数据都是各自new的,兄弟
|
能力值:
( LV2,RANK:10 )
|
-
-
109 楼
两个对象里的成员指针指向同一个内存,不知道你写的题目里面,哪里能看出会自己new内存?你不会认为*this = objA会把成员指针自动new内存,然后把指针指向的内容拷贝过去?况且你写的测试题里重载=放的是对象,据我所知,巡警的题目这里放的不是对象,所以不要认为*this = objA会调用到自己重载的=那里去。 是你自己写的代码让两个对象里的成员指针指向同一个内存了。
|
能力值:
( LV2,RANK:10 )
|
-
-
110 楼
给你什么题目 看的是你要多少工资
|
能力值:
( LV15,RANK:670 )
|
-
-
111 楼
友元成员只能访问 protect 属性的成员而不能访问 private 属性的成员。
protect 是可以和好友共享的,private 是私人珍藏。
|
能力值:
( LV13,RANK:290 )
|
-
-
112 楼
题目:实现类
class CMyCString
{
public:
CMyCString(void);
CMyCString( IN const CMyCString &clsSrc );
~CMyCString(void);
CMyCString& operator=( IN const CMyCString &clsSrc );
void Init( IN char *pSrc );
private:
char *m_pszStr;
};
|
能力值:
( LV13,RANK:290 )
|
-
-
113 楼
我的答案:
#include "StdAfx.h"
#include "MyCString.h"
void FreeBuffer( IN char* &pBuf )
{
if( NULL != pBuf )
{
delete [] pBuf;
pBuf = NULL;
}
}
CMyCString::CMyCString(void)
{
m_pszStr = NULL;
}
CMyCString::CMyCString( IN const CMyCString &clsSrc )
{
m_pszStr = NULL;
*this = clsSrc;
}
CMyCString::~CMyCString(void)
{
FreeBuffer( m_pszStr );
}
CMyCString& CMyCString::operator=( IN const CMyCString &clsSrc )
{
Init( clsSrc.m_pszStr );
return *this;
}
void CMyCString::Init( IN char *pSrc )
{
FreeBuffer( m_pszStr );
if( NULL != pSrc )
{
int nLen = strlen( pSrc );
if( nLen > 0 )
{
m_pszStr = new char[ nLen + 4 ];
ZeroMemory( m_pszStr, sizeof(char) * ( nLen + 4 ) );
CopyMemory( m_pszStr, pSrc, sizeof(char) * nLen );
}
}
}
void Test()
{
char szBuf[] = "125werw3";
CMyCString clsA;
clsA.Init( szBuf );
CMyCString clsB;
clsB = clsA;
CMyCString clsC( clsA );
}
|
能力值:
( LV3,RANK:30 )
|
-
-
114 楼
LZ先查查KILLER是谁, 顺便也查查他公司的WOLLF(不知道现在还在不在?)
还有冰河
|
能力值:
( LV2,RANK:10 )
|
-
-
115 楼
我也认为killer不是楼主说的那样的人,楼主太主观了
|
能力值:
( LV15,RANK:670 )
|
-
-
116 楼
[QUOTE=guxinyi;1059169]我的答案:
#include "StdAfx.h"
#include "MyCString.h"
...
void Test()
{
char szBuf[] = "125werw3";
CMyCString clsA;
clsA.Init( szBuf );
CMyCString clsB;
clsB = clsA;
CMyCString clsC( clsA );
}[/QUOTE]
明显不能支持下面这种用法。
void Test()
{
char szBuf[] = "125werw3";
CMyCString clsA;
clsA.Init( szBuf );
{
CMyCString clsB(clsA);
}
CMyCString clsC( clsA );
}
|
能力值:
( LV13,RANK:260 )
|
-
-
117 楼
x-scan 冰河....这些都是 前辈之作啊...
|
能力值:
( LV13,RANK:290 )
|
-
-
118 楼
[QUOTE=cntrump;1059197]明显不能支持下面这种用法。
void Test()
{
char szBuf[] = "125werw3";
CMyCString clsA;
clsA.Init( szBuf );
{
CMyCString clsB(clsA);
}
CMyCString cls...[/QUOTE] 可以支持的,
自己下工程
|
能力值:
( LV15,RANK:520 )
|
-
-
119 楼
支持是支持,可是编码已经不标准了,自己玩玩可以,面试就不要这么写了。
|
能力值:
( LV13,RANK:290 )
|
-
-
120 楼
我用的vs2008
难道其他编译器会出错?
|
能力值:
( LV13,RANK:290 )
|
-
-
121 楼
哪里不标准了??
|
能力值:
( LV15,RANK:520 )
|
-
-
122 楼
void Test()
{
char szBuf[] = "125werw3";
CMyCString clsA;
clsA.Init( szBuf );
{???????????????
CMyCString clsB(clsA);
}???????????????
CMyCString cls...
|
能力值:
( LV13,RANK:290 )
|
-
-
123 楼
我看不出那一句有什么不标准的,
不解
|
能力值:
( LV15,RANK:520 )
|
-
-
124 楼
不要和我说某某书上写的那两个括号有某某属性。我想一定是看书看多了,不如直接照搬。
|
能力值:
( LV15,RANK:520 )
|
-
-
125 楼
代码应该清晰,明了;这个代码很清晰,但是明了。还是自己玩玩可以。实在找不到什么借口来评论了
|
|
|