메모리 관리 : 문자 배열 및 = 연산자 Q. 메모리 관리 측면에서 다음 코드로 어떤 오류가 있습니까? class String
{
public:
String(const char right[]);
String& operator= (const String& right);
int length() const;
private:
char* buffer;
나는 내 자신의 문자열 함수를 만들기 위해 내 테스트 클래스를 가지고있다. 복사 소멸자에 문제가 있습니다. 2 개의 문자열 s1 및 s2가 있습니다. 함수 s3 = s1 + s2를 호출합니다. 먼저 연산자 + 함수를 호출하고 완료되면 소멸자를 호출합니다. 이 때문에 operator = function 함수의 문자열 객체는 비어 있습니다. 이 문제를 어떻게
아래 함수를 병렬 처리하는 동안 오류가 발생했습니다. bool
CMolecule::computeForces_twobody(vector<CMolecule*> &mols,
vector<CPnt> & force, vector<CPnt> & torque)
{
if(mols.size() == 1) return true;
i
그래서 링크 된 목록의 복사 생성자를 만들려고합니다. 어떻게 배열에 대한 복사 생성자를 알고 있지만 연결된 목록에는 없습니다. 누군가가 내가 어떻게 할 수 있고 감사 할 수있는 아이디어를 줄 수 있습니까? class node
{
public :
double data;
node *next; /// pointer that points
비슷한 질문이 많지만 아직 도움이되는 내용을 찾지 못했습니다. 나는 지금이 시간 동안 몇 시간 동안 있었고 그것은 나를 미치게 만들었다. 복사 생성자에 의해 생성 된 변수에 대해 소멸자가 호출되면 세그먼트 화 오류가 발생합니다. //Copy Constructor
Stack::Stack(const Stack &aStack)
{
size = 0;
이 중 하나를 생략하면 내 코드가 컴파일되지 않습니다. main()에 복사 할당 연산자 만 필요하다고 생각했습니다. 생성자도 어디에서 필요합니까? #include <iostream>
#include <stdio.h>
#include <string.h>
using namespace std;
class AString{
public:
나는 X 클래스를 가지고 내 목표는 X&을 반환하는 함수를 구현하기 위해 "나쁜 개체"를 나타내는 특별한 var를 가지는 것입니다. 예를 들어 는 : //X.h
class X{
private:
int i;
X(const X& other){} //private COPY CTOR
public:
const static X& ba
this post을 확인하고 언급 된 제안을 시도했지만 메모리 누수가 발생하는 대신 segmentation faults이 표시됩니다. ==15019== 8 bytes in 1 blocks are indirectly lost in loss record 1 of 41
==15019== at 0x402B9B4: operator new(unsigned int)
class A
{
// constructor,destructors and some getter and setter functions.
friend A& operator+(A& x,A& y);
}
class B
{
vector <A*> A_s;
}
난 그냥이 두 내가 그하고 싶은 다른 objects.After을 표시하기 위해 쓴, 여기
힙에 메모리를 할당 한 컨테이너를 구현하려고하지만 기본 생성자와 인수 생성자가 서로를 좋아하지 않는 것처럼 보입니다. 아래, 아무것도 주석없이 코드를 게시했습니다. 그대로 서서 충돌합니다. 그러나 #include <iostream>
using namespace std;
class foo
{
public:
foo() {size=1; vals