Direkt mal zum Problem: Ich hab zwei Funktionen, die auf meine "eigene" String-Klasse ausgerichtet sind: left und right.(C++)
Dabei möchte ich einfach den String "Hello World" mit den beiden Funktionen manipulieren(soll genauso arbeiten wie die Funktionen von iostream)..
Sprich: String holen, bearbeiten und neues Objekt der Klasse erzeugen und zurückgeben.
Dabei krieg ich meist allerdings nur "unlesbares"(Ab dem Abschnitt, wo ich str.left bzw. right aufrufe): �_����
Soweit so gut..
Code: Alles auswählen
#include <iostream>
int mystrlen(char const *str)
{
int x=0;
for(; str[x] != '\0';x++)
{
//Do nothing.
}
return x;
}
class darkstring
{
friend darkstring & operator +=( darkstring & lhs, char const* rhs );
friend darkstring operator +( darkstring const & lhs, char const* rhs );
friend darkstring operator +( darkstring const & lhs, darkstring const & rhs );
friend darkstring operator +( char const * lhs, darkstring const & rhs );
friend std::ostream & operator <<( std::ostream & lhs, darkstring const & rhs );
private:
char *dstr;
unsigned int dstrlength;
public:
darkstring(const char* str)
{
int i=0,length=mystrlen(str);
dstrlength=length;
dstr=new char[length+1];
while(i < length)
{
dstr[i]=str[i];
i++;
}
dstr[i]='\0';
}
unsigned int find(char const *str);
darkstring& left(int pos)
{
int i=0;
int y=0;
char nstr[pos+1];
while(i < pos)
{
nstr[y]=dstr[i];
i++;
y++;
}
nstr[y+1]='\0';
darkstring str=nstr;
return str;
}
darkstring& right(int pos)
{
int i=0,y=pos,sized=size();
char nstr[sized-pos+2];
while(0 > sized)
{
nstr[i]=dstr[y];
y--;
i++;
}
nstr[y+1]='\0';
darkstring str=nstr;
return str;
}
unsigned int size() const
{
return dstrlength;
}
};
darkstring & operator+=(darkstring & lhs, char const* rhs )
{
int newLength=lhs.size() + mystrlen(rhs), lhs_size=lhs.size();
int i=0,y=0;
char *newSTR=new char[newLength];
while(i<lhs_size)
{
newSTR[i]=lhs.dstr[i];
i++;
}
while(i<newLength)
{
newSTR[i]=rhs[y];
y++;
i++;
}
//Nullbyte
newSTR[i]='\0';
delete[](lhs.dstr);
lhs.dstr=newSTR;
return lhs;
}
std::ostream & operator<<(std::ostream & lhs, darkstring const & rhs )
{
return lhs<<rhs.dstr;
}
darkstring operator +( darkstring const & lhs, char const* rhs )
{
darkstring newSTR=lhs.dstr;
newSTR+=rhs;
return newSTR;
}
darkstring operator +( darkstring const & lhs, darkstring const & rhs )
{
darkstring newSTR=lhs.dstr;
newSTR+=rhs.dstr;
return newSTR;
}
darkstring operator +( char const * lhs, darkstring const & rhs )
{
darkstring newSTR=lhs;
newSTR+=rhs.dstr;
return newSTR;
}
int main(int argc, char** argv)
{
darkstring str="Hallo ";
str +="Welt";
//test
std::cout << "----Referenz links------"<<std::endl;
std::cout << str+"--!!--!!" << std::endl;
std::cout << "---Beides Referenzen----"<<std::endl;
std::cout << str+str << std::endl;
std::cout << "---Referenz rechts------"<<std::endl;
std::cout << "!!--!!--"+str<< "!!--!!--" <<std::endl;
std::cout << str.right(5);
}
Befehl:
Code: Alles auswählen
valgrind --tool=memcheck -v --workaround-gcc296-bugs=yes --leak-check=yes ./strclass
Code: Alles auswählen
==5799== Memcheck, a memory error detector
==5799== Copyright (C) 2002-2011, and GNU GPL'd, by Julian Seward et al.
==5799== Using Valgrind-3.7.0 and LibVEX; rerun with -h for copyright info
==5799== Command: ./ownSTR
==5799==
--5799-- Valgrind options:
--5799-- --suppressions=/usr/lib/valgrind/debian-libc6-dbg.supp
--5799-- --tool=memcheck
--5799-- -v
--5799-- --workaround-gcc296-bugs=yes
--5799-- --leak-check=yes
--5799-- Contents of /proc/version:
--5799-- Linux version 3.2.0-4-486 (debian-kernel@lists.debian.org) (gcc version 4.6.3 (Debian 4.6.3-14) ) #1 Debian 3.2.51-1
--5799-- Arch and hwcaps: X86, x86-sse1-sse2
--5799-- Page sizes: currently 4096, max supported 4096
--5799-- Valgrind library directory: /usr/lib/valgrind
--5799-- Reading syms from /lib/i386-linux-gnu/ld-2.17.so (0x4000000)
--5799-- Considering /lib/i386-linux-gnu/ld-2.17.so ..
--5799-- .. CRC mismatch (computed d49800f9 wanted 7e1cc473)
--5799-- Considering /usr/lib/debug/lib/i386-linux-gnu/ld-2.17.so ..
--5799-- .. CRC is valid
--5799-- Reading syms from /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR (0x8048000)
--5799-- Reading syms from /usr/lib/valgrind/memcheck-x86-linux (0x38000000)
--5799-- Considering /usr/lib/valgrind/memcheck-x86-linux ..
--5799-- .. CRC mismatch (computed f9c53117 wanted 8a91a8b2)
--5799-- Considering /usr/lib/debug/usr/lib/valgrind/memcheck-x86-linux ..
--5799-- .. CRC is valid
--5799-- object doesn't have a dynamic symbol table
--5799-- Reading suppressions file: /usr/lib/valgrind/debian-libc6-dbg.supp
--5799-- Reading suppressions file: /usr/lib/valgrind/default.supp
==5799== embedded gdbserver: reading from /tmp/vgdb-pipe-from-vgdb-to-5799-by-leon-on-???
==5799== embedded gdbserver: writing to /tmp/vgdb-pipe-to-vgdb-from-5799-by-leon-on-???
==5799== embedded gdbserver: shared mem /tmp/vgdb-pipe-shared-mem-vgdb-5799-by-leon-on-???
==5799==
==5799== TO CONTROL THIS PROCESS USING vgdb (which you probably
==5799== don't want to do, unless you know exactly what you're doing,
==5799== or are doing some strange experiment):
==5799== /usr/lib/valgrind/../../bin/vgdb --pid=5799 ...command...
==5799==
==5799== TO DEBUG THIS PROCESS USING GDB: start GDB like this
==5799== /path/to/gdb ./ownSTR
==5799== and then give GDB the following command
==5799== target remote | /usr/lib/valgrind/../../bin/vgdb --pid=5799
==5799== --pid is optional if only one valgrind process is running
==5799==
--5799-- REDIR: 0x4017fc0 (strlen) redirected to 0x38055304 (vgPlain_x86_linux_REDIR_FOR_strlen)
--5799-- REDIR: 0x4017df0 (index) redirected to 0x380552df (vgPlain_x86_linux_REDIR_FOR_index)
--5799-- Reading syms from /usr/lib/valgrind/vgpreload_core-x86-linux.so (0x4024000)
--5799-- Considering /usr/lib/valgrind/vgpreload_core-x86-linux.so ..
--5799-- .. CRC mismatch (computed bbadfadd wanted 39de28c9)
--5799-- Considering /usr/lib/debug/usr/lib/valgrind/vgpreload_core-x86-linux.so ..
--5799-- .. CRC is valid
--5799-- Reading syms from /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so (0x4027000)
--5799-- Considering /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so ..
--5799-- .. CRC mismatch (computed 9b401e29 wanted 9e97adf8)
--5799-- Considering /usr/lib/debug/usr/lib/valgrind/vgpreload_memcheck-x86-linux.so ..
--5799-- .. CRC is valid
--5799-- Reading syms from /usr/lib/i386-linux-gnu/libstdc++.so.6.0.17 (0x404c000)
--5799-- Considering /usr/lib/i386-linux-gnu/libstdc++.so.6.0.17 ..
--5799-- .. CRC mismatch (computed c3328608 wanted 737126b2)
--5799-- object doesn't have a symbol table
--5799-- Reading syms from /lib/i386-linux-gnu/i686/cmov/libm-2.17.so (0x4138000)
--5799-- Considering /lib/i386-linux-gnu/i686/cmov/libm-2.17.so ..
--5799-- .. CRC mismatch (computed 5186fef0 wanted 22262c55)
--5799-- Considering /usr/lib/debug/lib/i386-linux-gnu/i686/cmov/libm-2.17.so ..
--5799-- .. CRC is valid
--5799-- Reading syms from /lib/i386-linux-gnu/libgcc_s.so.1 (0x417b000)
--5799-- Considering /lib/i386-linux-gnu/libgcc_s.so.1 ..
--5799-- .. CRC mismatch (computed f8e2ff85 wanted ec2df6fa)
--5799-- object doesn't have a symbol table
--5799-- Reading syms from /lib/i386-linux-gnu/i686/cmov/libc-2.17.so (0x4198000)
--5799-- Considering /lib/i386-linux-gnu/i686/cmov/libc-2.17.so ..
--5799-- .. CRC mismatch (computed bc59b6d5 wanted d259ca34)
--5799-- Considering /usr/lib/debug/lib/i386-linux-gnu/i686/cmov/libc-2.17.so ..
--5799-- .. CRC is valid
--5799-- REDIR: 0x4215e30 (strnlen) redirected to 0x40245c0 (_vgnU_ifunc_wrapper)
--5799-- REDIR: 0x42173a0 (strncasecmp) redirected to 0x40245c0 (_vgnU_ifunc_wrapper)
--5799-- REDIR: 0x4215fd0 (__GI_strrchr) redirected to 0x402b630 (__GI_strrchr)
--5799-- REDIR: 0x4215d70 (__GI_strlen) redirected to 0x402ba60 (__GI_strlen)
--5799-- REDIR: 0x4215590 (strcmp) redirected to 0x40245c0 (_vgnU_ifunc_wrapper)
--5799-- REDIR: 0x42d8860 (__strcmp_ssse3) redirected to 0x402c5f0 (strcmp)
--5799-- REDIR: 0x409b8a0 (operator new[](unsigned int)) redirected to 0x402a890 (operator new[](unsigned int))
==5799== Invalid write of size 1
==5799== at 0x8048934: operator+=(darkstring&, char const*) (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799== by 0x8048A4E: main (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799== Address 0x434b06a is 0 bytes after a block of size 10 alloc'd
==5799== at 0x402A8F4: operator new[](unsigned int) (vg_replace_malloc.c:343)
==5799== by 0x80488D2: operator+=(darkstring&, char const*) (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799== by 0x8048A4E: main (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799==
--5799-- REDIR: 0x40994f0 (operator delete[](void*)) redirected to 0x4029d10 (operator delete[](void*))
--5799-- REDIR: 0x4215d20 (strlen) redirected to 0x40245c0 (_vgnU_ifunc_wrapper)
--5799-- REDIR: 0x421c780 (__strlen_sse2_bsf) redirected to 0x402ba40 (strlen)
--5799-- REDIR: 0x42174d0 (memcpy) redirected to 0x40245c0 (_vgnU_ifunc_wrapper)
--5799-- REDIR: 0x42cc280 (__memcpy_ssse3) redirected to 0x402cc10 (memcpy)
--5799-- REDIR: 0x4216a80 (bcmp) redirected to 0x40245c0 (_vgnU_ifunc_wrapper)
--5799-- REDIR: 0x42e0750 (__memcmp_ssse3) redirected to 0x402d780 (bcmp)
----Referenz links------
==5799== Invalid read of size 1
==5799== at 0x8048877: mystrlen(char const*) (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799== by 0x8048C3D: darkstring::darkstring(char const*) (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799== by 0x8048993: operator+(darkstring const&, char const*) (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799== by 0x8048A8C: main (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799== Address 0x434b06a is 0 bytes after a block of size 10 alloc'd
==5799== at 0x402A8F4: operator new[](unsigned int) (vg_replace_malloc.c:343)
==5799== by 0x80488D2: operator+=(darkstring&, char const*) (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799== by 0x8048A4E: main (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799==
==5799== Invalid write of size 1
==5799== at 0x8048934: operator+=(darkstring&, char const*) (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799== by 0x80489A5: operator+(darkstring const&, char const*) (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799== by 0x8048A8C: main (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799== Address 0x434b0f2 is 0 bytes after a block of size 18 alloc'd
==5799== at 0x402A8F4: operator new[](unsigned int) (vg_replace_malloc.c:343)
==5799== by 0x80488D2: operator+=(darkstring&, char const*) (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799== by 0x80489A5: operator+(darkstring const&, char const*) (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799== by 0x8048A8C: main (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799==
==5799== Invalid read of size 1
==5799== at 0x402BA53: strlen (mc_replace_strmem.c:390)
==5799== by 0x40D5F8D: std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*) (in /usr/lib/i386-linux-gnu/libstdc++.so.6.0.17)
==5799== by 0x8048AA2: main (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799== Address 0x434b0f2 is 0 bytes after a block of size 18 alloc'd
==5799== at 0x402A8F4: operator new[](unsigned int) (vg_replace_malloc.c:343)
==5799== by 0x80488D2: operator+=(darkstring&, char const*) (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799== by 0x80489A5: operator+(darkstring const&, char const*) (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799== by 0x8048A8C: main (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799==
Hallo Welt--!!--!!
---Beides Referenzen----
==5799== Invalid read of size 1
==5799== at 0x8048877: mystrlen(char const*) (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799== by 0x8048C3D: darkstring::darkstring(char const*) (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799== by 0x80489C7: operator+(darkstring const&, darkstring const&) (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799== by 0x8048AEF: main (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799== Address 0x434b06a is 0 bytes after a block of size 10 alloc'd
==5799== at 0x402A8F4: operator new[](unsigned int) (vg_replace_malloc.c:343)
==5799== by 0x80488D2: operator+=(darkstring&, char const*) (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799== by 0x8048A4E: main (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799==
==5799== Invalid read of size 1
==5799== at 0x8048877: mystrlen(char const*) (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799== by 0x80488A6: operator+=(darkstring&, char const*) (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799== by 0x80489DB: operator+(darkstring const&, darkstring const&) (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799== by 0x8048AEF: main (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799== Address 0x434b06a is 0 bytes after a block of size 10 alloc'd
==5799== at 0x402A8F4: operator new[](unsigned int) (vg_replace_malloc.c:343)
==5799== by 0x80488D2: operator+=(darkstring&, char const*) (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799== by 0x8048A4E: main (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799==
==5799== Invalid write of size 1
==5799== at 0x8048934: operator+=(darkstring&, char const*) (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799== by 0x80489DB: operator+(darkstring const&, darkstring const&) (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799== by 0x8048AEF: main (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799== Address 0x434b17c is 0 bytes after a block of size 20 alloc'd
==5799== at 0x402A8F4: operator new[](unsigned int) (vg_replace_malloc.c:343)
==5799== by 0x80488D2: operator+=(darkstring&, char const*) (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799== by 0x80489DB: operator+(darkstring const&, darkstring const&) (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799== by 0x8048AEF: main (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799==
==5799== Invalid read of size 1
==5799== at 0x402BA53: strlen (mc_replace_strmem.c:390)
==5799== by 0x40D5F8D: std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*) (in /usr/lib/i386-linux-gnu/libstdc++.so.6.0.17)
==5799== by 0x8048B05: main (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799== Address 0x434b17c is 0 bytes after a block of size 20 alloc'd
==5799== at 0x402A8F4: operator new[](unsigned int) (vg_replace_malloc.c:343)
==5799== by 0x80488D2: operator+=(darkstring&, char const*) (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799== by 0x80489DB: operator+(darkstring const&, darkstring const&) (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799== by 0x8048AEF: main (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799==
Hallo WeltHallo Welt
---Referenz rechts------
==5799== Invalid read of size 1
==5799== at 0x8048877: mystrlen(char const*) (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799== by 0x80488A6: operator+=(darkstring&, char const*) (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799== by 0x8048A0F: operator+(char const*, darkstring const&) (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799== by 0x8048B53: main (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799== Address 0x434b06a is 0 bytes after a block of size 10 alloc'd
==5799== at 0x402A8F4: operator new[](unsigned int) (vg_replace_malloc.c:343)
==5799== by 0x80488D2: operator+=(darkstring&, char const*) (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799== by 0x8048A4E: main (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799==
==5799== Invalid write of size 1
==5799== at 0x8048934: operator+=(darkstring&, char const*) (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799== by 0x8048A0F: operator+(char const*, darkstring const&) (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799== by 0x8048B53: main (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799== Address 0x434b202 is 0 bytes after a block of size 18 alloc'd
==5799== at 0x402A8F4: operator new[](unsigned int) (vg_replace_malloc.c:343)
==5799== by 0x80488D2: operator+=(darkstring&, char const*) (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799== by 0x8048A0F: operator+(char const*, darkstring const&) (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799== by 0x8048B53: main (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799==
==5799== Invalid read of size 1
==5799== at 0x402BA53: strlen (mc_replace_strmem.c:390)
==5799== by 0x40D5F8D: std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*) (in /usr/lib/i386-linux-gnu/libstdc++.so.6.0.17)
==5799== by 0x8048B69: main (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799== Address 0x434b202 is 0 bytes after a block of size 18 alloc'd
==5799== at 0x402A8F4: operator new[](unsigned int) (vg_replace_malloc.c:343)
==5799== by 0x80488D2: operator+=(darkstring&, char const*) (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799== by 0x8048A0F: operator+(char const*, darkstring const&) (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799== by 0x8048B53: main (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799==
!!--!!--Hallo Welt!!--!!--
==5799== Conditional jump or move depends on uninitialised value(s)
==5799== at 0x8048881: mystrlen(char const*) (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799== by 0x8048C3D: darkstring::darkstring(char const*) (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799== by 0x8048D44: darkstring::right(int) (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799== by 0x8048B9C: main (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799==
==5799== Conditional jump or move depends on uninitialised value(s)
==5799== at 0x402BA4B: strlen (mc_replace_strmem.c:390)
==5799== by 0x40D5F8D: std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*) (in /usr/lib/i386-linux-gnu/libstdc++.so.6.0.17)
==5799== by 0x8048BAC: main (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799==
==5799== Conditional jump or move depends on uninitialised value(s)
==5799== at 0x402BA57: strlen (mc_replace_strmem.c:390)
==5799== by 0x40D5F8D: std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*) (in /usr/lib/i386-linux-gnu/libstdc++.so.6.0.17)
==5799== by 0x8048BAC: main (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799==
==5799== Conditional jump or move depends on uninitialised value(s)
==5799== at 0x4209AA7: _IO_file_xsputn@@GLIBC_2.1 (fileops.c:1303)
==5799== by 0x41FEA74: fwrite (iofwrite.c:43)
==5799== by 0x40D43D5: __gnu_cxx::stdio_sync_filebuf<char, std::char_traits<char> >::xsputn(char const*, int) (in /usr/lib/i386-linux-gnu/libstdc++.so.6.0.17)
==5799== by 0x8048BAC: main (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799==
==5799== Conditional jump or move depends on uninitialised value(s)
==5799== at 0x4209ABA: _IO_file_xsputn@@GLIBC_2.1 (fileops.c:1303)
==5799== by 0x41FEA74: fwrite (iofwrite.c:43)
==5799== by 0x40D43D5: __gnu_cxx::stdio_sync_filebuf<char, std::char_traits<char> >::xsputn(char const*, int) (in /usr/lib/i386-linux-gnu/libstdc++.so.6.0.17)
==5799== by 0x8048BAC: main (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799==
==5799== Syscall param write(buf) points to uninitialised byte(s)
==5799== at 0x42768F3: __write_nocancel (syscall-template.S:81)
==5799== by 0x4208EE0: _IO_file_write@@GLIBC_2.1 (fileops.c:1262)
==5799== by 0x4208DC5: new_do_write (fileops.c:538)
==5799== by 0x420A41D: _IO_do_write@@GLIBC_2.1 (fileops.c:511)
==5799== by 0x4209691: _IO_file_sync@@GLIBC_2.1 (fileops.c:892)
==5799== by 0x41FDB81: fflush (iofflush.c:41)
==5799== by 0x40D40DD: __gnu_cxx::stdio_sync_filebuf<char, std::char_traits<char> >::sync() (in /usr/lib/i386-linux-gnu/libstdc++.so.6.0.17)
==5799== by 0x40D4EDE: std::ostream::flush() (in /usr/lib/i386-linux-gnu/libstdc++.so.6.0.17)
==5799== by 0x40AA805: std::ios_base::Init::~Init() (in /usr/lib/i386-linux-gnu/libstdc++.so.6.0.17)
==5799== by 0x41CB420: __run_exit_handlers (exit.c:77)
==5799== by 0x41CB4AC: exit (exit.c:99)
==5799== by 0x41B18FC: (below main) (libc-start.c:294)
==5799== Address 0x4033000 is not stack'd, malloc'd or (recently) free'd
==5799==
��¾��--5799-- REDIR: 0x42117b0 (free) redirected to 0x402a4a0 (free)
==5799==
==5799== HEAP SUMMARY:
==5799== in use at exit: 73 bytes in 5 blocks
==5799== total heap usage: 9 allocs, 4 frees, 111 bytes allocated
==5799==
==5799== Searching for pointers to 5 not-freed blocks
==5799== Checked 105,548 bytes
==5799==
==5799== 7 bytes in 1 blocks are definitely lost in loss record 1 of 5
==5799== at 0x402A8F4: operator new[](unsigned int) (vg_replace_malloc.c:343)
==5799== by 0x8048C57: darkstring::darkstring(char const*) (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799== by 0x8048D44: darkstring::right(int) (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799== by 0x8048B9C: main (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799==
==5799== 10 bytes in 1 blocks are definitely lost in loss record 2 of 5
==5799== at 0x402A8F4: operator new[](unsigned int) (vg_replace_malloc.c:343)
==5799== by 0x80488D2: operator+=(darkstring&, char const*) (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799== by 0x8048A4E: main (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799==
==5799== 18 bytes in 1 blocks are definitely lost in loss record 3 of 5
==5799== at 0x402A8F4: operator new[](unsigned int) (vg_replace_malloc.c:343)
==5799== by 0x80488D2: operator+=(darkstring&, char const*) (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799== by 0x80489A5: operator+(darkstring const&, char const*) (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799== by 0x8048A8C: main (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799==
==5799== 18 bytes in 1 blocks are definitely lost in loss record 4 of 5
==5799== at 0x402A8F4: operator new[](unsigned int) (vg_replace_malloc.c:343)
==5799== by 0x80488D2: operator+=(darkstring&, char const*) (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799== by 0x8048A0F: operator+(char const*, darkstring const&) (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799== by 0x8048B53: main (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799==
==5799== 20 bytes in 1 blocks are definitely lost in loss record 5 of 5
==5799== at 0x402A8F4: operator new[](unsigned int) (vg_replace_malloc.c:343)
==5799== by 0x80488D2: operator+=(darkstring&, char const*) (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799== by 0x80489DB: operator+(darkstring const&, darkstring const&) (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799== by 0x8048AEF: main (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799==
==5799== LEAK SUMMARY:
==5799== definitely lost: 73 bytes in 5 blocks
==5799== indirectly lost: 0 bytes in 0 blocks
==5799== possibly lost: 0 bytes in 0 blocks
==5799== still reachable: 0 bytes in 0 blocks
==5799== suppressed: 0 bytes in 0 blocks
==5799==
==5799== Use --track-origins=yes to see where uninitialised values come from
==5799== ERROR SUMMARY: 35 errors from 22 contexts (suppressed: 0 from 0)
==5799==
==5799== 1 errors in context 1 of 22:
==5799== Syscall param write(buf) points to uninitialised byte(s)
==5799== at 0x42768F3: __write_nocancel (syscall-template.S:81)
==5799== by 0x4208EE0: _IO_file_write@@GLIBC_2.1 (fileops.c:1262)
==5799== by 0x4208DC5: new_do_write (fileops.c:538)
==5799== by 0x420A41D: _IO_do_write@@GLIBC_2.1 (fileops.c:511)
==5799== by 0x4209691: _IO_file_sync@@GLIBC_2.1 (fileops.c:892)
==5799== by 0x41FDB81: fflush (iofflush.c:41)
==5799== by 0x40D40DD: __gnu_cxx::stdio_sync_filebuf<char, std::char_traits<char> >::sync() (in /usr/lib/i386-linux-gnu/libstdc++.so.6.0.17)
==5799== by 0x40D4EDE: std::ostream::flush() (in /usr/lib/i386-linux-gnu/libstdc++.so.6.0.17)
==5799== by 0x40AA805: std::ios_base::Init::~Init() (in /usr/lib/i386-linux-gnu/libstdc++.so.6.0.17)
==5799== by 0x41CB420: __run_exit_handlers (exit.c:77)
==5799== by 0x41CB4AC: exit (exit.c:99)
==5799== by 0x41B18FC: (below main) (libc-start.c:294)
==5799== Address 0x4033000 is not stack'd, malloc'd or (recently) free'd
==5799==
==5799==
==5799== 1 errors in context 2 of 22:
==5799== Conditional jump or move depends on uninitialised value(s)
==5799== at 0x4209AA7: _IO_file_xsputn@@GLIBC_2.1 (fileops.c:1303)
==5799== by 0x41FEA74: fwrite (iofwrite.c:43)
==5799== by 0x40D43D5: __gnu_cxx::stdio_sync_filebuf<char, std::char_traits<char> >::xsputn(char const*, int) (in /usr/lib/i386-linux-gnu/libstdc++.so.6.0.17)
==5799== by 0x8048BAC: main (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799==
==5799==
==5799== 1 errors in context 3 of 22:
==5799== Conditional jump or move depends on uninitialised value(s)
==5799== at 0x402BA4B: strlen (mc_replace_strmem.c:390)
==5799== by 0x40D5F8D: std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*) (in /usr/lib/i386-linux-gnu/libstdc++.so.6.0.17)
==5799== by 0x8048BAC: main (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799==
==5799==
==5799== 1 errors in context 4 of 22:
==5799== Invalid read of size 1
==5799== at 0x402BA53: strlen (mc_replace_strmem.c:390)
==5799== by 0x40D5F8D: std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*) (in /usr/lib/i386-linux-gnu/libstdc++.so.6.0.17)
==5799== by 0x8048B69: main (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799== Address 0x434b202 is 0 bytes after a block of size 18 alloc'd
==5799== at 0x402A8F4: operator new[](unsigned int) (vg_replace_malloc.c:343)
==5799== by 0x80488D2: operator+=(darkstring&, char const*) (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799== by 0x8048A0F: operator+(char const*, darkstring const&) (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799== by 0x8048B53: main (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799==
==5799==
==5799== 1 errors in context 5 of 22:
==5799== Invalid write of size 1
==5799== at 0x8048934: operator+=(darkstring&, char const*) (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799== by 0x8048A0F: operator+(char const*, darkstring const&) (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799== by 0x8048B53: main (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799== Address 0x434b202 is 0 bytes after a block of size 18 alloc'd
==5799== at 0x402A8F4: operator new[](unsigned int) (vg_replace_malloc.c:343)
==5799== by 0x80488D2: operator+=(darkstring&, char const*) (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799== by 0x8048A0F: operator+(char const*, darkstring const&) (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799== by 0x8048B53: main (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799==
==5799==
==5799== 1 errors in context 6 of 22:
==5799== Invalid read of size 1
==5799== at 0x8048877: mystrlen(char const*) (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799== by 0x80488A6: operator+=(darkstring&, char const*) (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799== by 0x8048A0F: operator+(char const*, darkstring const&) (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799== by 0x8048B53: main (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799== Address 0x434b06a is 0 bytes after a block of size 10 alloc'd
==5799== at 0x402A8F4: operator new[](unsigned int) (vg_replace_malloc.c:343)
==5799== by 0x80488D2: operator+=(darkstring&, char const*) (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799== by 0x8048A4E: main (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799==
==5799==
==5799== 1 errors in context 7 of 22:
==5799== Invalid read of size 1
==5799== at 0x402BA53: strlen (mc_replace_strmem.c:390)
==5799== by 0x40D5F8D: std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*) (in /usr/lib/i386-linux-gnu/libstdc++.so.6.0.17)
==5799== by 0x8048B05: main (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799== Address 0x434b17c is 0 bytes after a block of size 20 alloc'd
==5799== at 0x402A8F4: operator new[](unsigned int) (vg_replace_malloc.c:343)
==5799== by 0x80488D2: operator+=(darkstring&, char const*) (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799== by 0x80489DB: operator+(darkstring const&, darkstring const&) (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799== by 0x8048AEF: main (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799==
==5799==
==5799== 1 errors in context 8 of 22:
==5799== Invalid write of size 1
==5799== at 0x8048934: operator+=(darkstring&, char const*) (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799== by 0x80489DB: operator+(darkstring const&, darkstring const&) (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799== by 0x8048AEF: main (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799== Address 0x434b17c is 0 bytes after a block of size 20 alloc'd
==5799== at 0x402A8F4: operator new[](unsigned int) (vg_replace_malloc.c:343)
==5799== by 0x80488D2: operator+=(darkstring&, char const*) (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799== by 0x80489DB: operator+(darkstring const&, darkstring const&) (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799== by 0x8048AEF: main (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799==
==5799==
==5799== 1 errors in context 9 of 22:
==5799== Invalid read of size 1
==5799== at 0x8048877: mystrlen(char const*) (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799== by 0x80488A6: operator+=(darkstring&, char const*) (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799== by 0x80489DB: operator+(darkstring const&, darkstring const&) (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799== by 0x8048AEF: main (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799== Address 0x434b06a is 0 bytes after a block of size 10 alloc'd
==5799== at 0x402A8F4: operator new[](unsigned int) (vg_replace_malloc.c:343)
==5799== by 0x80488D2: operator+=(darkstring&, char const*) (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799== by 0x8048A4E: main (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799==
==5799==
==5799== 1 errors in context 10 of 22:
==5799== Invalid read of size 1
==5799== at 0x8048877: mystrlen(char const*) (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799== by 0x8048C3D: darkstring::darkstring(char const*) (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799== by 0x80489C7: operator+(darkstring const&, darkstring const&) (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799== by 0x8048AEF: main (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799== Address 0x434b06a is 0 bytes after a block of size 10 alloc'd
==5799== at 0x402A8F4: operator new[](unsigned int) (vg_replace_malloc.c:343)
==5799== by 0x80488D2: operator+=(darkstring&, char const*) (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799== by 0x8048A4E: main (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799==
==5799==
==5799== 1 errors in context 11 of 22:
==5799== Invalid read of size 1
==5799== at 0x402BA53: strlen (mc_replace_strmem.c:390)
==5799== by 0x40D5F8D: std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*) (in /usr/lib/i386-linux-gnu/libstdc++.so.6.0.17)
==5799== by 0x8048AA2: main (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799== Address 0x434b0f2 is 0 bytes after a block of size 18 alloc'd
==5799== at 0x402A8F4: operator new[](unsigned int) (vg_replace_malloc.c:343)
==5799== by 0x80488D2: operator+=(darkstring&, char const*) (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799== by 0x80489A5: operator+(darkstring const&, char const*) (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799== by 0x8048A8C: main (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799==
==5799==
==5799== 1 errors in context 12 of 22:
==5799== Invalid write of size 1
==5799== at 0x8048934: operator+=(darkstring&, char const*) (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799== by 0x80489A5: operator+(darkstring const&, char const*) (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799== by 0x8048A8C: main (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799== Address 0x434b0f2 is 0 bytes after a block of size 18 alloc'd
==5799== at 0x402A8F4: operator new[](unsigned int) (vg_replace_malloc.c:343)
==5799== by 0x80488D2: operator+=(darkstring&, char const*) (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799== by 0x80489A5: operator+(darkstring const&, char const*) (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799== by 0x8048A8C: main (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799==
==5799==
==5799== 1 errors in context 13 of 22:
==5799== Invalid read of size 1
==5799== at 0x8048877: mystrlen(char const*) (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799== by 0x8048C3D: darkstring::darkstring(char const*) (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799== by 0x8048993: operator+(darkstring const&, char const*) (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799== by 0x8048A8C: main (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799== Address 0x434b06a is 0 bytes after a block of size 10 alloc'd
==5799== at 0x402A8F4: operator new[](unsigned int) (vg_replace_malloc.c:343)
==5799== by 0x80488D2: operator+=(darkstring&, char const*) (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799== by 0x8048A4E: main (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799==
==5799==
==5799== 1 errors in context 14 of 22:
==5799== Invalid write of size 1
==5799== at 0x8048934: operator+=(darkstring&, char const*) (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799== by 0x8048A4E: main (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799== Address 0x434b06a is 0 bytes after a block of size 10 alloc'd
==5799== at 0x402A8F4: operator new[](unsigned int) (vg_replace_malloc.c:343)
==5799== by 0x80488D2: operator+=(darkstring&, char const*) (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799== by 0x8048A4E: main (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799==
==5799==
==5799== 5 errors in context 15 of 22:
==5799== Conditional jump or move depends on uninitialised value(s)
==5799== at 0x4209ABA: _IO_file_xsputn@@GLIBC_2.1 (fileops.c:1303)
==5799== by 0x41FEA74: fwrite (iofwrite.c:43)
==5799== by 0x40D43D5: __gnu_cxx::stdio_sync_filebuf<char, std::char_traits<char> >::xsputn(char const*, int) (in /usr/lib/i386-linux-gnu/libstdc++.so.6.0.17)
==5799== by 0x8048BAC: main (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799==
==5799==
==5799== 5 errors in context 16 of 22:
==5799== Conditional jump or move depends on uninitialised value(s)
==5799== at 0x402BA57: strlen (mc_replace_strmem.c:390)
==5799== by 0x40D5F8D: std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*) (in /usr/lib/i386-linux-gnu/libstdc++.so.6.0.17)
==5799== by 0x8048BAC: main (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799==
==5799==
==5799== 6 errors in context 17 of 22:
==5799== Conditional jump or move depends on uninitialised value(s)
==5799== at 0x8048881: mystrlen(char const*) (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799== by 0x8048C3D: darkstring::darkstring(char const*) (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799== by 0x8048D44: darkstring::right(int) (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799== by 0x8048B9C: main (in /home/leon/Desktop/Programmiersprachen/C++/Aufgaben/Operatoren/ownSTR)
==5799==
==5799== ERROR SUMMARY: 35 errors from 22 contexts (suppressed: 0 from 0)
Danke im vorraus
