Domande da un "manichino" - pagina 19

 
Si prega di spiegare il significato della linea ((m_patterns_usage&(((int)1)<<p))!=0) ?
 
_____Life_Line:
Si prega di spiegare il significato della stringa ((m_patterns_usage&(((int)1)<< p))!=0) ?

Il significato della linea è controllare il p-esimo bit della variabile m_patterns_usage per l'uguaglianza con 1 (più esattamente, per il non-zero).

Leggi di più:

((int)1 ) : significa convertire l'unità nel tipo int per evitare che il compilatore la converta automaticamente nel tipo intero minimo (char).

((int)1)<< p : significa uno spostamento di bit di un'unità di tipo int p bit a sinistra.

(m_patterns_usage & (((int)1)<<p) : operazione bitwise E. Risulterà uno 0 se almeno uno dei bit del risultato non è uguale a uno.

Potete studiare i risultati delle operazioni bitwise "&" e "|" da soli dai libri di riferimento. Non potete farne a meno se volete continuare a programmare.

 
Per cosa potreste aver bisogno di deinizializzare le variabili?
 
Silent:
Perché avreste bisogno di deinizializzare le variabili?

Se mi spieghi come si fa, penserò a un uso ragionevole, se ne ho la minima possibilità. ;)

Non c'è bisogno di deinizializzare le variabili, ma è molto desiderabile liberare la memoria referenziata dai puntatori (oggetti creati dinamicamente). Sempre.

 
MetaDriver:

Se puoi spiegare come si fa, sarò sicuro di pensare a un uso ragionevole, se c'è la minima possibilità. ;)

Non c'è bisogno di deinizializzare le variabili, ma è molto desiderabile liberare la memoria referenziata dai puntatori ( oggetti creati dinamicamente). Sempre.

string s2=NULL;               // деинициализация строки

Da qui

Ma vorrei sapere perché. Non si sa mai.

E gli oggetti non devono essere deinizializzati forzatamente, il terminale lo fa da solo prima di cancellare?

 
Silent:

da qui

È nella conversione delle stringhe. Forse intendi solo assegnare un valore vuoto?
 
Silent:
Questo è nella conversione delle stringhe. Forse intendi solo assegnare un valore vuoto?
Lo penso anch'io.
 
Ciao, come faccio a cambiare la modalità del cursore nell'editor? Sono sempre in grassetto e cancella i caratteri quando premo la barra spaziatrice, come faccio a passare al normale...?
 
Diubakin:
Ciao, come faccio a cambiare la modalità del cursore nell'editor? Sono sempre in grassetto e cancella i caratteri quando premo la barra spaziatrice, come faccio a passare al normale...?
Premere il tasto Insert.
 
Grazie