Así es, tiene que serlo, de lo contrario, ¿qué sentido tiene especificar
en lugar de
Para trabajar con colecciones estándar, una clase no debe tener métodos const, porque no todas las clases pueden hacerlo, pero todas las clases pueden utilizar colecciones estándar. La restricción la impone una función externa, y está en su derecho, pero no puede imponer restricciones a la arquitectura de los objetos de terceros.
C-4: La restricción es impuesta por la función externa y es su derecho, pero no tiene derecho a imponer restricciones a la arquitectura de los objetos de terceros.
¿Explique entonces qué sentido pone al especificar debajo de const - sólo para ser?
Explique entonces qué sentido tiene especificar por debajo de la const - sólo ser?
Esta es una pregunta para los desarrolladores de la biblioteca estándar, no para mí. Desgraciadamente, si quieres usar Compare, debes redefinirlo según su firma, es decir, usar const. De lo contrario, los algoritmos estándar de búsqueda, ordenación y pegado no funcionarán con mis objetos. Pero mis objetos no contienen const y en virtud de su estructura no pueden contener const. Así que la pregunta es, ¿por qué no puedo utilizar algoritmos de almacenamiento estándar sólo porque no tengo acceso a esta maldita const? !!!!
Así es, tiene que serlo, de lo contrario, ¿qué sentido tiene especificar
en lugar de
A* B::a = new A;El constructor A no es estático, intentar llamarlo causará naturalmente un error:
La restricción es impuesta por la función externa y es su derecho, pero no tiene derecho a imponer restricciones a la arquitectura de los objetos de terceros.
¿Explique entonces qué sentido pone al especificar debajo de const - sólo para ser?
Explique entonces qué sentido tiene especificar por debajo de la const - sólo ser?
El constructor A no es estático, intentar llamarlo causará naturalmente un error:
Esto es realmente una inicialización válida. Lo estático en una clase no tiene nada que ver con el objeto que es estático.
Y el hecho de que no compile realmente parece un error.
Fleder, ¡ gracias por la aclaración! ¿Los autores del proyecto mantienen un registro de cambios en MetaEditor y en el lenguaje MQL?
Fleder, ¡ gracias por la aclaración! ¿Los autores del proyecto mantienen un registro de cambios en MetaEditor y en el lenguaje MQL?
Así que la pregunta es, ¿por qué no puedo utilizar algoritmos de almacenamiento estándar sólo porque no puedo acceder a la maldita const? !!!!
Anuncio
no significa que la clase A tenga que tener sólo métodos const. Sólo significa que en la propia f() sólo se pueden llamar métodos constEn realidad, esta es la inicialización correcta. Un statik en una clase no tiene nada que ver con un objeto que es un statik.
Y el hecho de que no compile realmente parece un error.