videoklip gemt på homedisk "hakker" ved afspilning
hej lars-j

tak for de pæne ord 

jeg har søgt lidt rundt på forum, efter løsninger, hvor andre har samme problem.

dette er hvad som er kommet op:

/t5/mit-tdc/adgang-til-homedisk-via-ikon-p%c3%a5-skrivebord/m-p/6441 

/t5/mit-tdc/installation-af-homedisk-ikon-p%c3%a5-skrivebord/m-p/102080#m9522 

der kom rigtigt meget andet op. du kan selv søge på forum, om der er andre svar, som kan hjælpe dig bedre. du søger enten i søgefeltet i toppen, ellers kan du søge på denne side:

http://go.tdc.dk/qlhyw 

søge ord kan være

homedisk ikon

homedisk tilknytning

homedisk netværksdrev

du er meget velkommen til at skrive igen. vil gerne høre om du lykkes og hvis det ikke virker, forsøger vi at finde ud af noget, så det virker igen. du skal være glad for din tdc homedisk 

god fornøjelse
film jeg fandt ud af det, det var en bat fil, som var kommet ind i opstartsfilerne, den blev så lige slettet, så nu kører den fint igen computeren Vi har lavet en plantningsvideo. Klik her for at se den. alkoholiseret **Nej**; du *kaster ikke* resultatet, da:


* Det er unødvendigt, da `void *` automatisk og sikkert promoveres til enhver anden pointertype i dette tilfælde.
* Det tilføjer rod i koden, casts er ikke særlig lette at læse (især hvis pointertypen er lang).
* Det får dig til at gentage dig selv, hvilket generelt er dårligt.
* Det kan skjule en fejl, hvis du har glemt at inkludere `<stdlib.h>`. Dette kan forårsage nedbrud (eller, endnu værre, *ikke* forårsage et nedbrud før langt senere i en helt anden del af koden). Tænk på hvad der sker hvis pointere og integers har forskellig størrelse; så skjuler du en advarsel ved at caster og kan miste bits af din returnerede adresse. Bemærk: fra og med C99 er implicitte funktioner forsvundet fra C, og dette punkt er ikke længere relevant, da der ikke længere er nogen automatisk antagelse om, at udeklarerede funktioner returnerer `int`.


Som en præcisering skal du bemærke, at jeg sagde "du skal ikke caste", ikke "du *behøver* ikke at caste". Efter min mening er det en fejl at inkludere cast, selv hvis du har det rigtigt. Der er simpelthen ingen fordele ved at gøre det, men en masse potentielle risici, og at medtage gipsen indikerer, at du ikke kender til risiciene.


Bemærk også, som kommentatorer påpeger, at ovenstående taler om ren C, ikke C++. Jeg tror meget stærkt på C og C++ som separate sprog.


For yderligere at tilføje, at din kode unødigt gentager typeoplysningerne (`int`), hvilket kan forårsage fejl. Det er bedre at de-referere den pointer, der bruges til at gemme returværdien, for at "låse" de to sammen:



```
int *sieve = malloc(length * sizeof *sieve);
```

Dette flytter også `length` til forsiden for at øge synligheden, og dropper de overflødige parenteser med `sizeof`; de *er kun nødvendige* når argumentet er et typenavn. Mange mennesker synes ikke at vide (eller ignorerer) dette, hvilket gør deres kode mere omstændelig. Husk: `sizeof` er ikke en funktion! :)







Selvom det *kan* øge synligheden i nogle sjældne tilfælde at flytte `length` foran, bør man også være opmærksom på, at det i det generelle tilfælde bør være bedre at skrive udtrykket som:



```
int *sieve = malloc(sizeof *sieve * length);
```

Da det at holde `sizeof` først, i dette tilfælde, sikrer, at multiplikationen udføres med mindst `size_t` matematik.


Sammenlign: Sammenlign: `malloc(sizeof *sieve * length * width)` vs. `malloc(length * width * sizeof *sieve)` den anden kan overløbe `length * width` når `width` og `length` er mindre typer end `size_t`. person bræk embede cannabis headset