Faits : A. A.a. Par jugement du 3 mars 2011, confirmé le 15 août 2011 par la Cour d'appel pénale du Tribunal cantonal du canton de Vaud, le Tribunal correctionnel de l'arrondissement de Lausanne a condamné X._ à une peine privative de liberté de sept ans, sous déduction de 278 jours de détention avant jugement, pour tentative de meurtre, agression, lésions corporelles simples qualifiées et infraction à la LEtr (depuis le 1er janvier 2019 : LEI). Le terme de cette peine privative de liberté était fixé au 29 mai 2017. X._ est toutefois resté incarcéré au titre d'exécution de peines privatives de liberté de substitution relatives à des peines pécuniaires qui lui avaient été infligées les 7 février 2014 et 30 septembre 2015. Le solde des peines pécuniaires en question ayant été acquitté le 20 juillet 2017, le prénommé s'est trouvé, dès le jour suivant, en détention pour des motifs de sûreté. A.b. Par jugement du 30 juin 2017, le Tribunal criminel de l'arrondissement de Lausanne a invité le Ministère public du canton de Vaud à examiner l'opportunité de saisir la Cour d'appel pénale en vue de l'examen du prononcé d'un internement à l'endroit de X._. Par requête du 4 juillet 2017, le ministère public a demandé la révision des jugements rendus le 3 mars 2011 par le Tribunal correctionnel et le 15 août 2011 par la Cour d'appel pénale. B. B.a. Par jugement du 1er septembre 2017, la Cour d'appel pénale a admis la demande de révision du jugement rendu le 3 mars 2011 par le Tribunal correctionnel et a renvoyé la cause au Tribunal criminel pour nouvelle décision. Elle a également ordonné le maintien en détention de X._ pour des motifs de sûreté. Par arrêt du 22 décembre 2017 (6B_1186/2017), le Tribunal fédéral a déclaré irrecevable le recours formé par X._ contre le jugement du 1er septembre 2017. B.b. Donnant suite à une requête du Président du Tribunal criminel, le Tribunal des mesures de contrainte a ordonné la détention de X._ pour des motifs de sûreté, au terme d'une ordonnance rendue le 19 janvier 2018 que la Chambre des recours pénale du Tribunal cantonal vaudois a confirmée le 5 février 2018, sur recours du prénommé. Par arrêt du 11 avril 2018 (1B_149/2018), le Tribunal fédéral a rejeté - dans la mesure de sa recevabilité - le recours formé par X._ contre l'arrêt du 5 février 2018. C. Par jugement du 8 juin 2018, le Tribunal criminel de l'arrondissement de Lausanne a ordonné l'internement de X._ ainsi que son maintien en détention pour des motifs de sûreté. Par jugement du 22 novembre 2018, la Cour d'appel pénale du Tribunal cantonal du canton de Vaud a rejeté l'appel formé par le prénommé contre ce jugement et a confirmé celui-ci. Elle a en outre ordonné son maintien en détention pour des motifs de sûreté. Il en ressort ce qui suit. C.a. X._ est né en 1970 en Algérie, pays dont il est ressortissant. En Espagne, le prénommé a été condamné pour infraction à la législation sur les étrangers et a été expulsé du territoire de ce pays. En France, entre 1993 et 1996, X._ a été condamné cinq fois à des peines privatives de liberté, assorties d'interdictions de territoire, pour vol, entrée ou séjour irrégulier en France, pénétration non autorisée sur le territoire après interdiction, prise du nom d'un tiers entraînant une inscription au casier judiciaire et violence commise en réunion. En Suisse, outre la condamnation de 2011, l'intéressé a été condamné, en 2005, pour vol, dommages à la propriété et brigandage, en 2014, pour lésions corporelles simples et injure, ainsi qu'en 2015, pour diffamation, injure et menaces. C.b. X._ a été soumis à une première expertise psychiatrique. Dans un rapport daté du 1er août 2015, le Dr A._ a indiqué que l'intéressé souffrait de schizophrénie paranoïde se manifestant par la présence d'idées délirantes relativement stables, en rémission incomplète mais "traitée" par le cadre. C.c. Sur ordre du Président du Tribunal criminel de l'arrondissement de Lausanne, X._ a fait l'objet d'une seconde expertise psychiatrique. Dans un rapport daté du 16 décembre 2016, le Dr B._ a exposé que l'intéressé souffrait de troubles spécifiques de la personnalité - trouble de la personnalité dyssociale sévère - et de dépendance à l'alcool, utilisation nocive pour la santé. Cet expert a conclu à l'existence d'un risque élevé de récidive s'agissant d'infractions évoquées à l'art. 64 al. 1 CP. Il a ajouté qu'il n'existait, en l'état actuel des connaissances en psychiatrie, aucun moyen d'amender le trouble dont souffrait X._. D. X._ forme un recours en matière pénale au Tribunal fédéral contre le jugement du 22 novembre 2018, en concluant, avec suite de frais et dépens, principalement à sa réforme en ce sens que sa libération immédiate est ordonnée et qu'une indemnité à titre de l'art. 429 CPP, laquelle n'est pas inférieure à 200 fr. par jour de détention subie depuis le 21 juillet 2017 et jusqu'à sa libération, lui est allouée. Subsidiairement, il conclut à sa réforme en ce sens que sa libération immédiate est ordonnée et qu'il est constaté que la détention subie entre le 21 juillet 2017 et le jour de sa libération est illicite, la cause étant renvoyée à l'autorité précédente pour la fixation d'une indemnité. Plus subsidiairement, il conclut à son annulation et au renvoi de la cause à l'autorité précédente pour nouvelle décision. Il sollicite par ailleurs le bénéfice de l'assistance judiciaire et l'octroi de l'effet suspensif. Par ordonnance du 6 février 2019, le Président de la Cour de droit pénal du Tribunal fédéral a retiré au recours son effet suspensif.