Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1781 connectés 

 

Sujet(s) à lire :
    - Who's who@Programmation
 

 Mot :   Pseudo :  
  Aller à la page :
 
 Page :   1  2  3  4  5  ..  23280  23281  23282  ..  27191  27192  27193  27194  27195  27196
Auteur Sujet :

[blabla@olympe] Le topic du modo, dieu de la fibre et du monde

n°2352749
Jubijub
Parce que je le VD bien
Posté le 28-04-2020 à 10:46:25  profilanswer
 

Reprise du message précédent :

nraynaud a écrit :


C’est autorisé les crochets sur un pointeur, ça vient du C.
 
Je crois qu’il existe une différence mineure entre le type pointeur et le type tableau, mais c’est une question d’interview, donc je me souviens plus.


 

el muchacho a écrit :


Ca vient d'une convention du C, qui est que le nom d'un tableau est l'adresse du premier élément du tableau.
En C, un tableau, c'est une adresse et une longueur. Quand tu fais une allocation avec malloc (ou new en C++), l'allocateur regarde s'il lui reste un espace qui n'a pas été réservé, de longueur suffisante, et retourne un pointeur portant l'adresse du premier élément qui vient d'être réservé.
Imagine que ta mémoire est un hotel. L'allocateur, c'est le réceptionniste, il sait à tout moment quelles chambres sont réservées. Mr Jubi, vous demandez 12 chambres consécutives ? Alors allez à l'étage 7, et vous avez les chambres 708 et les 12 suivantes (708-719 inclus).
 
Chambre *chambre = new Chambre[12]              // pointeur qui contient l'adresse 708
 
Tu noteras que C++ n'offre aucun mécanisme qui t'empêche d'écrire à l'adresse 720. Cet hotel n'a pas de clefs, tu peux entrer dans n'importe quelle chambre à tout moment, même si elle est déjà occupée (en général ça se passe mal si elle est occupée, mais ça peut marcher si elle ne l'est pas, jusqu'à ce que l'allocateur, ne sachant pas que tu squattes régulièrement la chambre, la réserve pour un autre client). C'est à toi de te souvenir que tu as réservé les chambres 708 à 719.
 
Plus de détails https://www.geeksforgeeks.org/diffe [...] r-array-c/


Merci pour l'explication!
 

boblenain200 a écrit :

Bon c'est absolument dégueulasse, mais oui ca marche (il manquait l'allocation de tableau dans le code précédent, ça aurait segfault sur l'accès).
 
C'est un horrible mélange de C (tableau utilisé via un pointer) et de C++ (list<int> ).
 
En C, un pointeur et une liste c'est "pareil", donc ce qui ressemble à un pointeur vers une list<int> ici est en fait utilisé comme tableau de list<int> (C-style), donc list<list<int>> ; cf l'allocateur qui est un allocateur de tableau (new[]).
 
Suffit de remplacer ca par un list<list<int>> et tout devient plus clair (et accessoirement, ça enleve le code du ctor et du dtor)


En effet, c'est pas net... je suis un peu déçu par educative.io sur ce coup : les explications sont bien, mais le code a souvent ce genre de merde (ils utilisent toujours des array C style, alors qu'il y a <array> maintenant qui est quand meme plus pratique
 

hephaestos a écrit :


vector<list<int>> [:aloy]
 
Voire array<list<T>, N> et on met tout ça dans un patron.
 
Et effectivement l'implémentation fournie fuite, il manque un destructeur.


Il y a un dtor, il segfault :o du coup je l'ai viré pour que ça s'execute
 

Code :
  1. Graph::~Graph() {
  2.   delete adjacencyList;
  3. }


 


---------------
Jubi Photos : Flickr - 500px
mood
Publicité
Posté le 28-04-2020 à 10:46:25  profilanswer
 

n°2352750
hephaestos
Sanctis Recorda, Sanctis deus.
Posté le 28-04-2020 à 10:49:43  profilanswer
 

masklinn a écrit :


J’ai du mal à voir le pourquoi une liste aussi. On push_back et on itère, vector fait ça très bien non?


La liste c'est pour permettre d'enlever des noeuds du graphe de façon triviale.

n°2352751
rokhlan
Posté le 28-04-2020 à 10:50:29  profilanswer
 
n°2352752
hephaestos
Sanctis Recorda, Sanctis deus.
Posté le 28-04-2020 à 10:51:41  profilanswer
 

Jubijub a écrit :


Merci pour l'explication!
[quotemsg=2352749,931200,25001]
Il y a un dtor, il segfault :o du coup je l'ai viré pour que ça s'execute

 
Code :
  1. Graph::~Graph() {
  2.   delete adjacencyList;
  3. }
 


 

Oh le noob !

Code :
  1. Graph::~Graph() {
  2.   delete[] adjacencyList;
  3. }


Message cité 1 fois
Message édité par hephaestos le 28-04-2020 à 10:52:11
n°2352753
Jubijub
Parce que je le VD bien
Posté le 28-04-2020 à 10:53:29  profilanswer
 

masklinn a écrit :


J’ai du mal à voir le pourquoi une liste aussi. On push_back et on itère, vector fait ça très bien non?


j'imagine que c'est parce que ça s'appelle une adjacency list...mais sinon je suis d'accord avec toi


---------------
Jubi Photos : Flickr - 500px
n°2352754
boblenain2​00
Posté le 28-04-2020 à 11:01:12  profilanswer
 

Jubijub a écrit :


j'imagine que c'est parce que ça s'appelle une adjacency list...mais sinon je suis d'accord avec toi


 
Faut utiliser le dtor de tableau (delete[]) si tu utilises le ctor de tableau (new[]).Mais en vrai, il faut utiliser aucun des 2.  
std::list ou std::vector s'occupera de la mémoire pour toi.

n°2352755
Xavier_OM
Monarchiste régicide (fr quoi)
Posté le 28-04-2020 à 11:08:44  profilanswer
 

boblenain200 a écrit :


 
Faut utiliser le dtor de tableau (delete[]) si tu utilises le ctor de tableau (new[]).Mais en vrai, il faut utiliser aucun des 2.  
std::list ou std::vector s'occupera de la mémoire pour toi.


 
Voilà  :jap:


---------------
Il y a autant d'atomes d'oxygène dans une molécule d'eau que d'étoiles dans le système solaire.
n°2352756
Jubijub
Parce que je le VD bien
Posté le 28-04-2020 à 11:11:11  profilanswer
 

hephaestos a écrit :


 
Oh le noob !

Code :
  1. Graph::~Graph() {
  2.   delete[] adjacencyList;
  3. }




 

boblenain200 a écrit :


 
Faut utiliser le dtor de tableau (delete[]) si tu utilises le ctor de tableau (new[]).Mais en vrai, il faut utiliser aucun des 2.  
std::list ou std::vector s'occupera de la mémoire pour toi.


 
ça tendrait à confirmer que leur code a jamais compilé :(


---------------
Jubi Photos : Flickr - 500px
n°2352757
masklinn
í dag viðrar vel til loftárása
Posté le 28-04-2020 à 11:25:34  profilanswer
 

hephaestos a écrit :


La liste c'est pour permettre d'enlever des noeuds du graphe de façon triviale.


C’est pas implémenté et de toute manière faut passer dans toutes les listes pour aller trouver les noeuds & les enlever, tu gagnes vraiment rien.  
 
Un set à la limite j’aurais pu voir l’intérêt mais là on s’en tape, t’as 2 pointeurs d’overhead et une allocation par push pour rien.

Message cité 1 fois
Message édité par masklinn le 28-04-2020 à 11:56:47

---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°2352758
hephaestos
Sanctis Recorda, Sanctis deus.
Posté le 28-04-2020 à 11:46:44  profilanswer
 

masklinn a écrit :


C’est pas implémenté fait er de toute manière faut passer dans toutes les listes pour aller trouver les noeuds & les enlever, tu gagnes vraiment rien.  
 
Un set à la limite j’aurais pu voir l’intérêt mais là on s’en tape, t’as 2 pointeurs d’overhead et une allocation par push pour rien.


C'est une question d'exprimer ce qu'on attend de la structure utilisée : On veut pouvoir ajouter et supprimer des noeuds facilement, on ne veut pas d'accès arbitraire que fournit un set. C'est vraisemblablement pas optimal, mais c'est ce qui exprime le mieux le besoin.
 
D'ailleurs il n'y a pas que la suppression des arêtes qui est un problème: avec un vector, si on en ajoute on invalide tous les itérateurs qu'on avait déjà, alors qu'une liste garantit la validité de tous les itérateurs qui ne sont pas supprimés.

mood
Publicité
Posté le 28-04-2020 à 11:46:44  profilanswer
 

n°2352760
masklinn
í dag viðrar vel til loftárása
Posté le 28-04-2020 à 12:00:21  profilanswer
 

hephaestos a écrit :

C'est une question d'exprimer ce qu'on attend de la structure utilisée : On veut pouvoir ajouter et supprimer des noeuds facilement, on ne veut pas d'accès arbitraire que fournit un set. C'est vraisemblablement pas optimal, mais c'est ce qui exprime le mieux le besoin.


Un set c’est pas un accès arbitraire, et ça me semble exprimer beaucoup mieux les arêtes qu’une liste: pas d’ordre et ajout / suppression en O(1) (ou logn avec un arbre). Une liste ça exprime un contrat dont on se contrefout (une séquence / un rank).  

hephaestos a écrit :

D'ailleurs il n'y a pas que la suppression des arêtes qui est un problème: avec un vector, si on en ajoute on invalide tous les itérateurs qu'on avait déjà, alors qu'une liste garantit la validité de tous les itérateurs qui ne sont pas supprimés.


Si c’est spécifiquement un besoin sur, mais c’est peu probable, et l’intérêt de payer une DLL pour un truc pas utile est léger.

Message cité 2 fois
Message édité par masklinn le 28-04-2020 à 12:05:50

---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°2352764
el muchach​o
Comfortably Numb
Posté le 28-04-2020 à 12:37:22  profilanswer
 

Jubijub a écrit :


 
ça tendrait à confirmer que leur code a jamais compilé :(


Ah si si, delete adjacencyList; compile parfaitement. Ca fuit mais ça compile impec.
 
Bienvenue dans le C++. [:paul de saint-balby:1]


---------------
Les aéroports où il fait bon attendre, voila un topic qu'il est bien
n°2352765
masklinn
í dag viðrar vel til loftárása
Posté le 28-04-2020 à 12:40:47  profilanswer
 

el muchacho a écrit :


Ah si si, delete adjacencyList; compile parfaitement. Ca fuit mais ça compile impec.
 
Bienvenue dans le vieux C++. [:paul de saint-balby:1]


 [:aloy]


---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°2352766
el muchach​o
Comfortably Numb
Posté le 28-04-2020 à 12:48:54  profilanswer
 


Je viens de vérifier sur http://cpp.sh/, même en C++14, tous warnings activés, ça passe les doigts dans le nez.
D'ailleurs, je ne comprends pas ce que qui empêche le compilateur de détecter ce type d'erreur. Je veux dire il suffit de voir que la variable a été déclarée comme un tableau. :??:

 

 int *arr = new int[10];  <-- manifestement un tableau
  delete arr;  <-- donc erreur

 

edit: ah par vieux C++ tu veux parler de la déclaration de tableaux plutôt qu'utiliser un std::vector, j'imagine.

Message cité 2 fois
Message édité par el muchacho le 28-04-2020 à 12:50:33

---------------
Les aéroports où il fait bon attendre, voila un topic qu'il est bien
n°2352767
masklinn
í dag viðrar vel til loftárása
Posté le 28-04-2020 à 13:17:24  profilanswer
 

el muchacho a écrit :


edit: ah par vieux C++ tu veux parler de la déclaration de tableaux plutôt qu'utiliser un std::vector, j'imagine.


Oui je veux parler du style utilisé, les pointeurs bruts, les vieux tableaux, les new/delete.  
 
C’est clairement du c++ valide, mais stylistiquement c’est du c++98.


---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°2352769
flo850
moi je
Posté le 28-04-2020 à 13:19:51  profilanswer
 

ce langage d'élites de suicidaires. Une simple liste chainée peut te tuer de 17 manières différentes.


---------------

n°2352770
masklinn
í dag viðrar vel til loftárása
Posté le 28-04-2020 à 13:30:37  profilanswer
 

flo850 a écrit :

ce langage d'élites de suicidaires de pervers. Une simple liste chainée peut te tuer de 17 manières différentes.


 [:cupra]


---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°2352771
Shinuza
This is unexecpected
Posté le 28-04-2020 à 13:33:38  profilanswer
 

nraynaud a écrit :


1) j'écris un objet qui prend un stream dans le constructeur et qui expose une function async readChunk(length) qui retourne toujours un buffer de la bonne taille ou lance une exception. https://github.com/vatesfr/xen-orch [...] -buffer.js  
 
2) je sais pas trop, c'est toujours chiant les connecteurs inconnus, il faut trouver la spec de la carte.
https://en.wikipedia.org/wiki/JST_connector on dirait vaguement un JST SZ
 
edit: trouver le pitch exact serait un bon indicateur, ça peut être 1mm, 1.27mm ou 1.5mm


C'est du JST SH. FIY


---------------
Mains power can kill, and it will hurt the entire time you’re dying from it.
n°2352773
boblenain2​00
Posté le 28-04-2020 à 13:37:52  profilanswer
 

flo850 a écrit :

ce langage d'élites de suicidaires. Une simple liste chainée peut te tuer de 17 manières différentes.


 
Pas vraiment en C++ moderne. Et t'évites aussi la billion dollar mistake, soit mieux que la plupart des langages mainstreams.
Normalement, il ne doit pas y avoir ni pointer, ni new ni delete en C++ moderne.

n°2352774
boblenain2​00
Posté le 28-04-2020 à 13:39:39  profilanswer
 

el muchacho a écrit :


Je viens de vérifier sur http://cpp.sh/, même en C++14, tous warnings activés, ça passe les doigts dans le nez.
D'ailleurs, je ne comprends pas ce que qui empêche le compilateur de détecter ce type d'erreur. Je veux dire il suffit de voir que la variable a été déclarée comme un tableau. :??:  
 
  int *arr = new int[10];  <-- manifestement un tableau
  delete arr;  <-- donc erreur
 
edit: ah par vieux C++ tu veux parler de la déclaration de tableaux plutôt qu'utiliser un std::vector, j'imagine.


 
Le pointeur peut venir de n'importe ou, c'est pas aussi évident.

n°2352775
Xavier_OM
Monarchiste régicide (fr quoi)
Posté le 28-04-2020 à 13:40:37  profilanswer
 

flo850 a écrit :

ce langage d'élites de suicidaires. Une simple liste chainée peut te tuer de 17 manières différentes.


 
Hokuto no C++  [:superfx:1]


---------------
Il y a autant d'atomes d'oxygène dans une molécule d'eau que d'étoiles dans le système solaire.
n°2352776
el muchach​o
Comfortably Numb
Posté le 28-04-2020 à 13:47:21  profilanswer
 

boblenain200 a écrit :


Le pointeur peut venir de n'importe ou, c'est pas aussi évident.


Il y a un cas légitime où cette heuristique ne marche pas ?


---------------
Les aéroports où il fait bon attendre, voila un topic qu'il est bien
n°2352777
masklinn
í dag viðrar vel til loftárása
Posté le 28-04-2020 à 13:47:24  profilanswer
 

boblenain200 a écrit :

Pas vraiment en C++ moderne. Et t'évites aussi la billion dollar mistake, soit mieux que la plupart des langages mainstreams.


Non. Tous les smart pointers sont « nullables » (y compris std::optional) et les deref’ est UB (pas une NPE propre). Le seul truc pas nullable c’est les références, donc c’est assez limité.
 
Surtout que si t’es références ne sont pas nullables, elles peuvent être « dangling », et c’est aussi UB.  
 
Et il en faut pas des masses pour faire du ref laundering. Genre une fonction qui prend une ref et la renvoie, tu sors ta ref d’une locale ou d’un pointeur pour appeler et tu renvoies le résultat, t’es dedans, aucun warning de clang ou GCC en activant tout.

Message cité 1 fois
Message édité par masklinn le 28-04-2020 à 14:02:30

---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°2352778
Xavier_OM
Monarchiste régicide (fr quoi)
Posté le 28-04-2020 à 13:52:00  profilanswer
 

D'ailleurs cette confusion pointeur/tableau c'est bien pénible quand tu portes du C en C++, tu ne peux pas juste au type deviner s'il faut remplacer T* par un smartpointer ou si c'était la première case d'un pan de mémoire.


---------------
Il y a autant d'atomes d'oxygène dans une molécule d'eau que d'étoiles dans le système solaire.
n°2352779
el muchach​o
Comfortably Numb
Posté le 28-04-2020 à 13:53:01  profilanswer
 

Sinon, je viens de lire la page wikipedia sur les virus bactériophages. [:hide]
 
Ce truc qui vient de l'espace. [:alarmclock1]
 
On va tous mourir. [:max evans]


---------------
Les aéroports où il fait bon attendre, voila un topic qu'il est bien
n°2352780
masklinn
í dag viðrar vel til loftárása
Posté le 28-04-2020 à 13:58:04  profilanswer
 

el muchacho a écrit :

Sinon, je viens de lire la page wikipedia sur les virus bactériophages. [:hide]
 
Ce truc qui vient de l'espace. [:alarmclock1]
 
On va tous mourir. [:max evans]


C’est plus l’inverse, les phages c’est un super espoir.  
 
Le truc ultra flippant de sa race c’est les prions.


---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°2352781
el muchach​o
Comfortably Numb
Posté le 28-04-2020 à 14:17:04  profilanswer
 

ouais en fait je faisais du clickbait  :lol:  
Mais ça reste super chelou, ces trucs. En plus il y en a absolument partout apparemment.
 
m'en vais me renseigner sur les prions :jap:
 
bon okay :o

Message cité 1 fois
Message édité par el muchacho le 28-04-2020 à 14:30:45

---------------
Les aéroports où il fait bon attendre, voila un topic qu'il est bien
n°2352782
hephaestos
Sanctis Recorda, Sanctis deus.
Posté le 28-04-2020 à 14:26:08  profilanswer
 

masklinn a écrit :


Un set c’est pas un accès arbitraire, et ça me semble exprimer beaucoup mieux les arêtes qu’une liste: pas d’ordre et ajout / suppression en O(1) (ou logn avec un arbre). Une liste ça exprime un contrat dont on se contrefout (une séquence / un rank).


Bof la séquence c'est une limitation du contrat de la liste, c'est pas franchement une feature. Ce qu'apporte la liste c'est surtout l'insertion/suppression en O(1) ce que ne fournit pas le set de base. unordered_set serait éventuellement approprié mais force à fournir une fonction de hash, donc la limitation de list rend son utilisation plus flexible.

n°2352783
boblenain2​00
Posté le 28-04-2020 à 14:41:04  profilanswer
 

masklinn a écrit :


Non. Tous les smart pointers sont « nullables » (y compris std::optional) et les deref’ est UB (pas une NPE propre). Le seul truc pas nullable c’est les références, donc c’est assez limité.

 

Surtout que si t’es références ne sont pas nullables, elles peuvent être « dangling », et c’est aussi UB.

 

Et il en faut pas des masses pour faire du ref laundering. Genre une fonction qui prend une ref et la renvoie, tu sors ta ref d’une locale ou d’un pointeur pour appeler et tu renvoies le résultat, t’es dedans, aucun warning de clang ou GCC en activant tout.

 

Effectivement, le optional nullable c'est un probleme (le meme qu'en Java).

 

Pour les autres cas que tu cites, justement je trouve que c'est très facilement identifiable dans une MR (typiquement récupérer une ref d'un retour de function, énorme warning), et honnêtement en 2 ans de C++ je pense avoir jamais eu de cas de ref dangling au runtime.

Message cité 1 fois
Message édité par boblenain200 le 28-04-2020 à 14:41:42
n°2352784
Jubijub
Parce que je le VD bien
Posté le 28-04-2020 à 14:42:59  profilanswer
 

Moi en lisant vos commentaires
 
https://buzzly.fr/uploads/thumb/960/phpfrnEEN.gif


---------------
Jubi Photos : Flickr - 500px
n°2352785
___alt
Posté le 28-04-2020 à 15:06:53  profilanswer
 

masklinn a écrit :


C’est plus l’inverse, les phages c’est un super espoir.  
 
Le truc ultra flippant de sa race c’est les prions.


 
Ceci


---------------
TRIPS RIGHT BUNCH F SHUTTLE TOM AND JERRY RIGHT YELLOW
n°2352786
hephaestos
Sanctis Recorda, Sanctis deus.
Posté le 28-04-2020 à 15:14:26  profilanswer
 


C'est vraiment pas sorcier, c'est juste une question de lire les différents conteneurs de la bibliothèque standard: https://en.cppreference.com/w/cpp/container
 
C'est assez instructif parce que cette bibliothèque a été construite bottom-up : partant de différentes structures de données connues et utiles, on a défini des conteneurs qui en avaient les propriétés. Le jeu c'est de lire chaque définition et de trouver quelle structure de données correspond.

n°2352787
masklinn
í dag viðrar vel til loftárása
Posté le 28-04-2020 à 15:26:58  profilanswer
 

hephaestos a écrit :


Bof la séquence c'est une limitation du contrat de la liste, c'est pas franchement une feature. Ce qu'apporte la liste c'est surtout l'insertion/suppression en O(1) ce que ne fournit pas le set de base.


Une liste t’as une suppression en O(1) une fois que t’as trouvé ton noeud, donc la suppression elle est en O(n), sauf à avoir un index vers tes noeuds.  
 
Un set c’est O(1) ou O(log n).  

hephaestos a écrit :

unordered_set serait éventuellement approprié mais force à fournir une fonction de hash, donc la limitation de list rend son utilisation plus flexible.


Devoir fournir une fonction de hash c’est l’une des limitations les moins limitantes que je connaisse, surtout pour un truc qui stocke des entiers.  
 
Donc non, je continue a pas être d’accord, ici et en général la liste n’apporte que des désagréments. Il y a des cas où elle est applicable, mais pour moi c’est un dernier recours, ou quand l’alternative c’est devoir d’où même monter une structure de données non triviale. C’est pas le cas ici, il y a au moins 3 structures qui sont dans la stdlib et à mon sens plus adaptées.  

boblenain200 a écrit :

Effectivement, le optional nullable c'est un probleme (le meme qu'en Java).
 
Pour les autres cas que tu cites, justement je trouve que c'est très facilement identifiable dans une MR (typiquement récupérer une ref d'un retour de function, énorme warning), et honnêtement en 2 ans de C++ je pense avoir jamais eu de cas de ref dangling au runtime.


Sure mais je reste est loin, et me fait qu’elles soient risquées fait que tu vas souvent utiliser des smart pointers (qui fixent pas le problème) au lieu de refs, donc bon t’as quelques outils mais ça reste pas Byzance.

Message cité 2 fois
Message édité par masklinn le 28-04-2020 à 15:30:59

---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°2352788
R3g
fonctionnaire certifié ITIL
Posté le 28-04-2020 à 15:41:20  profilanswer
 

el muchacho a écrit :

ouais en fait je faisais du clickbait  :lol:  
Mais ça reste super chelou, ces trucs. En plus il y en a absolument partout apparemment.
 
m'en vais me renseigner sur les prions :jap:
 
bon okay :o


Dans le genre flippant les prions ça fait des trucs pas mal : https://fr.wikipedia.org/wiki/Insomnie_fatale_familiale


---------------
Au royaume des sourds, les borgnes sont sourds.
n°2352789
ratibus
Posté le 28-04-2020 à 16:02:13  profilanswer
 

flo850 a écrit :

ce langage d'élites de suicidaires. Une simple liste chainée peut te tuer de 17 manières différentes.


C'est clair :D
 
Au moins en PHP j'ai pas ces emmerdes :o

n°2352790
Jubijub
Parce que je le VD bien
Posté le 28-04-2020 à 16:24:52  profilanswer
 

hephaestos a écrit :


C'est vraiment pas sorcier, c'est juste une question de lire les différents conteneurs de la bibliothèque standard: https://en.cppreference.com/w/cpp/container
 
C'est assez instructif parce que cette bibliothèque a été construite bottom-up : partant de différentes structures de données connues et utiles, on a défini des conteneurs qui en avaient les propriétés. Le jeu c'est de lire chaque définition et de trouver quelle structure de données correspond.


je dis pas que c'est sorcier, je dis juste qu'à côté de ce truc vi a une learning curve plate :o
 
les containers ça va j'ai compris, la lib est meme plutot bien foutue, c'est assez cohérent d'un type de container a l'autre (push vs emplace, la notion de back vs front, la surcharge de [] quand ça fait sens, les itérateurs qui marchent pareil partout), on retrouve la cohésion de Collections en Java je trouve). Je parlais plus de la discussion sur les pointeurs, et la gestion mémoire :D


---------------
Jubi Photos : Flickr - 500px
n°2352791
nraynaud
lol
Posté le 28-04-2020 à 16:36:17  profilanswer
 

dites les gens qui bossent chez google, pourquoi dans les descentes de gradient qu'on trouve sur le net le learning rate est joué au dés, alors qu'il existe un calcul pour le trouver précisément:
https://youtu.be/RYKyhUglVZA?t=783


---------------
trainoo.com, c'est fini
n°2352792
Xavier_OM
Monarchiste régicide (fr quoi)
Posté le 28-04-2020 à 17:05:21  profilanswer
 

masklinn a écrit :


Si c’est spécifiquement un besoin sur, mais c’est peu probable, et l’intérêt de payer une DLL pour un truc pas utile est léger.

 

Les itérateurs qui restent valides après insertion/suppression c'est quand-même assez pratique, c'est pas non plus le mouton à 5 pattes hyper rare le cas dont parle Hephaestos ^^

Message cité 1 fois
Message édité par Xavier_OM le 28-04-2020 à 17:05:33

---------------
Il y a autant d'atomes d'oxygène dans une molécule d'eau que d'étoiles dans le système solaire.
n°2352793
Elmoricq
Posté le 28-04-2020 à 17:09:44  profilanswer
 

Dites, vous utilisez quoi comme clavier sur android ?

 

Je cherche un truc simple et ultra light à la Simple Keyboard mais avec un correcteur (pas automatique).

 

J'utilise fleksy, mais j'en suis pas tout à fait satisfait...

n°2352794
Jubijub
Parce que je le VD bien
Posté le 28-04-2020 à 17:10:13  profilanswer
 

nraynaud a écrit :

dites les gens qui bossent chez google, pourquoi dans les descentes de gradient qu'on trouve sur le net le learning rate est joué au dés, alors qu'il existe un calcul pour le trouver précisément:
https://youtu.be/RYKyhUglVZA?t=783


 
y'a pas une histoire de perf?


---------------
Jubi Photos : Flickr - 500px
n°2352796
masklinn
í dag viðrar vel til loftárása
Posté le 28-04-2020 à 17:14:54  profilanswer
 

Xavier_OM a écrit :

Les itérateurs qui restent valides après insertion/suppression c'est quand-même assez pratique, c'est pas non plus le mouton à 5 pattes hyper rare le cas dont parle Hephaestos ^^


IDK, c'est ptet habituel en C++ mais perso ce genre de cas j'en ai pas vu des masses, et dans le cadre du détail d'implémentation d'une structure de données où le problème ne s'applique manifestement pas, je vois vraiment pas l'intérêt de prévoir un edge-case pareil et de manifestement empirer la situation générale pour pouvoir le gérer.


---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3  4  5  ..  23280  23281  23282  ..  27191  27192  27193  27194  27195  27196

Aller à :
Ajouter une réponse
 

Sujets relatifs
Plus de sujets relatifs à : [blabla@olympe] Le topic du modo, dieu de la fibre et du monde


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)