博客

  • DAY-1 开始学习C++

    总结

    C++程序是由一个或多个被称为函数的模块组成的。

    程序从main()函数开始执行,因此该函数必不可少。

    函数由函数头函数体组成。

    • 函数头指出函数返回值的类型
    • 函数期望通过参数传递给它的信息的类型。

    函数体由一对花括号({})中的C++语句组成

    C++语句种类:

    • 声明语句:定义函数中使用变量的名称和类型
    • 赋值语句:使用赋值运算符(=)给变量赋值
    • 消息语句:将消息发送给对象,激发某种行动
    • 函数调用:执行函数。被调用的函数执行完毕后,程序返回到函数调用语句后面的语句
    • 函数原型:声明函数的返回类型,函数接受的参数数量和类型
    • 返回语句:将一个值从被调用的函数那里返回到调用函数中

    练习

    1. C++程序的模块叫作什么?%% 函数 %%
    2. 下面的预处理器指令是做什么用的?
      #include <iostream>
      答:iostream是C++程序中的预处理器指令,该指令的作用是将头文件iostream的内容包含到该指令所在的位置。
    3. 下面的语句是做什么用的?
      using namespace std;
      答:这是一条using指令,也叫命名空间指令。它指示编译器,在此指令之后的作用域内,若遇到没有明确指定命名空间的名称,则默认到std命名空间中查找。
    4. 什么语句可以用来打印短语“Hello, World”,然后开始新的一行?
      答:cout << "Hello, World" << endl;
    5. 什么语句可以用来创建名为cheeses的整数变量?
      答:使用声明语句,int cheeses;
    6. 什么语句可以将32赋值给变量cheeses中?
      答:使用赋值语句,cheeses = 32;
    7. 什么语句可以用来将从键盘输入的值读入变量cheeses中?
      答:cin >> cheeses;
    8. 什么语句可以用来打印“We have X varieties of cheese.”,其中X为变量cheeses的值。
      答:cout << "We have " << cheeses << " varieties of cheese.";
    9. 下面的函数原型指出了关于函数的哪些信息?
      int froop(double t);
      void rattle(int n);
      int prune(void);
      答:int froop(double t);中指出了froop函数返回一个int类型的值,该函数接受一个double类型的参数;void rattle(int n);中指出了rattle函数没有返回值,该函数接受一个int类型的参数;int prune(void);中指出了该函数返回一个int类型的值,同时该函数不接受参数。
    10. 定义函数时,在什么情况下不必使用关键字return
      答:当函数的返回类型是void时,函数体内可以不使用return语句。
    11. 假设您编写的main()函数包含如下代码: cout << "Please enter your PIN: "; 而编译器指出cout是一个未知标识符。导致这种问题的原因很可能是什么?指出3种修复这种问题的方法。
      答:导致问题的原因很可能是没有使用using指令,其次可能是为使用未使用预处理器编译指令包含头文件iostream
      修复方法:
    • 若包含头文件iostream,则在函数内部添加using namespace std;
    • 若包含头文件iostream,则在全局添加using namespace std;
    • 修改原代码为std::cout << "Please enter your PIN: ";
  • 存储数据与展示数据不同时的处理方法

    在开发表单中,常常遇到存储的表单数据与显示给用户的内容不一致的情况。

    例如一个多选组件,表单数据中存储的是选择项的id,但是显示给用户的却是选择项的名称。

    对于这种情况,有两种处理方法。

    第一种是使用计算属性显示

    根据存储的数据id,查找对应的名称,再先是到表单上。

    使用的是计算属性,要确保不能修改它。

    如果要将名称显示到输入框组件上,可以加上disabled防止用户修改它。

    第二个是使用查找方法,实时查找

    编写一个根据id查找名称的方法,然后在渲染过程中使用它,类似:

    <ul>
      <li>{{getNameById(item.id)</li>
    </ul>

  • 《蛊真人》之谢晗沫

    在第一次看蛊的时候,方源在乐土洞天中提到谢晗沫这个名字,我瞬间联想到自己看过的另一篇文章。

    文章的标题已经记不得了,但情节是地震下,一位母亲与她刚出生几个月的婴儿被掩埋在废墟下,婴儿又渴又饿就要死了,于是这位母亲用自己的唾液喂他,最后救援队发现二人,只有婴儿活了下来。

    (我写日记时又去搜了这篇文章确认了下,不是喂的唾液,而是母乳和鲜血。文章的名字是“母爱短信”,汶川地震时的文章,但是却也有人说这篇文章是虚构的。)

    当时之所以会想到那篇文章,应该是将“晗”联想到“含”,“沫”联想到“唾液”了。

    (不过联想到唾液是不是有点恶心啊。而且小说中谢晗沫是一名鲛人,类似美人鱼,硬要联想的话,不应该将“沫”联想到海浪冲刷时产生的泡沫吗,而且童话故事小美人鱼的结局,也是小美人鱼也是走到海里,变成了泡沫。)

    不管总之是怎么联想的,当谢晗沫这个名字一出现的时候,这个人物就瞬间与母爱、善良、伟大联系在一起了。

    尤其是作者在前面的一千多章里多处铺垫方源的艰辛,遇到的所有人都在利用他,更主要的是方源亲口承认谢晗沫是自己的挚爱的时候,就更加觉得谢晗沫一定是一个好人了。

    最终给我的感受就是谢晗沫这个角色,虽然只是出现了一个名字,但是人物却是活起来了一般。

    遗憾的是小说中并没有写方源和谢晗沫之间的爱情故事,而谢晗沫做的事情,也只写了彻查寒潮族长贪腐那一段,即使是在末尾,谢晗沫也只是在心里感慨一句,“方源他,是知我的。”

    感慨完情节,来研究一下名字。

    “谢”,之前的“晗沫”二字让我联想到“母爱短信”这篇文章,“谢”这个字增添了一种“感恩”、“感激”的意思。

    “晗”,可拆分为日、今、口,日对月,今对古,口对圆,而方源的全名正好是古月方源,正好对应方源的名字。

    “沫”,这让我想到泡沫、短暂、绚烂,在小说中谢晗沫的戏份不多,在两千多章节中,出现谢晗沫的章节不到十五章,并且这不到十五章中,每一章写到谢晗沫的也只有一小部分,对比全文的内容量来说,对读者来说,谢晗沫的出场、退场都是短暂的。

    但谢晗沫也是绚烂的,在重新选拔鲛人圣女的最后比拼歌舞的环节,谢晗沫和方源成为全场所有人视线的焦点,谢晗沫从方源的三首曲子,《白月光》、《水调歌头》、《沧海一声笑》中了解方源,认为方源是与自己同类的人,是知己的。

    而方源是畅快的,遇到谢涵沫时,方源已经活了三百多岁了,三百多年来,他一直遭遇挫折困顿,心中继续了太多的郁气,以至于在最开始陷入黑油之中,即将死亡时,他的内心也十分平静,甚至带着一丝放松,觉得自己终于可以休息了,永远地休息了,他穿越到蛊界三百多年,过得太苦太累了。

    在最后一首《沧海一声笑》中,方源意气风发,心中积蓄的郁气一扫而空。

    这里引用一段原文:

    我在世俗红尘中摸爬滚打,我出世我入世。我过着我自己的生活,我按照我的心意活着,哪怕浪潮颠簸得我起起伏伏、上上下下、生生死死,我也从不感到委屈哀怨惧怕担忧,我品味此中滋味,我仍旧会痴痴笑笑。

    我有真性情。

    我是真人!

    我觉得“泡沫”这个意象也同样代表这方源与谢晗沫这段爱情的结局,童话故事中小美人鱼走进海中变成了泡沫。在小说中,谢晗沫是鲛人,而且是鲛人圣庭的圣女,方源是人族,普通的鲛人与异族通婚都会成为两族合理打压的对象,更别说谢晗沫还是圣女了,并且方源遇到谢晗沫时,方源的实力低微,只有三转级别。

    所以最后的结局要么是谢晗沫不得不与方源分别,或者是谢晗沫与方源私奔,然后被鲛人和人族追杀,谢晗沫或被拘拿或被杀死,而方源也在东海待不下去,去到西漠。