Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Fala gurizada!!!
To preparando um programinha aqui bem legalzinhow!!!
Só quero saber uma coisa: a forma correta de ter uma string em uma estrutura. Não quero que dê memory leaks ou o escambal. Saca só o contexto é assim:
typedef struct _meu
{
char* nome; // aqui quero que aponte para uma string
int blablabla;
MeuObjeto* etcetcetc;
//etc
} meu;
//......
meu inicializa(char nome)
{
meu* novo = new meu; //estou fazendo em C++!!
novo->blablabla = 0;
novo->etcetcetc = new MeuObjeto(1,2,3,4); //exemplo...
novo->nome = nome; //E AGORA??? X_X
}1. desse jeito acho que iria dar memory leak ou não? tipo se eu inicializar
meu* eu = inicializa("juzé enésium");
2. to usando isso com um contexto de arrays redimensionáveis de ponteiros. Portanto, depois vou querer adicionar mais objetos no meio, e como sou burro de padeiro só conheço o caminho do realloc, to usando ele e não deu problema. A moral é, como vou fazer pra realocar depois? Será que só alocar o tamanho da struct normal (sizeof(meu) * (contagem + 1)) funciona sem dar merlin??
Valeu gurizada, conto com vocês aí pra me ajudar que esse programinha aqui vou postar nos tutoriais e vai ser uma mão na roda pra quem quer programar aqueles programinhas em janelas no windows!!!
Valeu titia isis!!
kk
Não sou muito chegado nessas tais APIs do C++ aí sou meio cabeça dura mas vou tentar usar! :P
Parafraseando: "Dadinho é o ca***!!! Meu nome é Zé Pequeno, po!!"
Pra memory leaks acho que os tais smart pointers resolvem (http://www.boost.org/doc/libs/1_36_0/libs/smart_ptr/smart_ptr.htm) , mas nunca usei.
Isso é C++!!! Use a API!!!
class meu {
public meu(string argNome) {
Ao invés de ficar usando arrays de C procure por vector.
memory leaks são causados quando você não libera os pedaços de memória alocados.