流利说懂你英语结班学习总结

一开始报名的目的

  • 因为平时敲代码会用到英语,不过跟口语听力没啥太大关系,主要就是看看文档
  • 想着万一哪天有钱了、有时间了、国内都玩遍了,出国浪的时候不会被卖了还帮别人数钱
  • 万一哪天想着出国留学一把,对吧
  • 想着《权力的游戏》再出下一部的时候还是不看字幕更过瘾吧
  • 在家里可以跟我家大人用英语交流,给我儿子培养英语环境

报名经历

我印象里面那天是部门去北戴河团建,在大巴车上看技术分享的时候,看到了流利说技术用到了人工智能,如何引领了国内的语音识别技术,学好英语如何赢取白富美走上人生巅峰,吧啦吧啦,总之手一抽,就下载下来报了名。嗯,现在想想就后悔,否则也不会导致后边苦逼的时候早早6点就得起床。然后就是被班班进班级群,再分小组进小组群。

学习的前期就是靠的新鲜劲

小组里面总共6个成员,对了,就是到今天还在班级群打卡 3/6 的 Lidia9班-第13组。
说实话,组里面有个一直都在坚持学,并且学习效率也一直很高的学神——丽荣,还有好多其他的学神,不知道班班怎么就脑袋一抽让我写这个经验分享。
跑题了,前期就是靠着一股新鲜劲,前半个月的小组打卡里面几乎没有缺勤的吧,就算有事缺勤也会群里面请假(譬如我),不知道别人,反正我当时的想法是一天都不许缺勤,否则有一天就会有两天。靠着这个想法坚持了大概一个月左右。

到了中期就能看出每个人的毅力如何了

当我坚持一个月多点的时候,我们组里面已经有两位同学开始经常掉队了。当然我们组里面还是好的,看班级群里面其他小组打卡人数貌似我们组还是比较棒的。这时候就到了十一七天假,带着老婆孩子出去玩了一把,果然还是上班更轻松一些。果然应了我上面的话,断了一天就不怕了,索性把七天玩爽了再说。
嗯,七天假回来之后坚持了也就一周吧。然后项目要在年前打出个版本,每晚要加班到11点,呵呵。这么累了哪有时间学什么英语,呵呵。

到了后期因为穷,我又回来了

在还剩俩月的时候,突然有天我家大人问我英语学的怎样了,说好的退费还能不能拿到。我说我太忙了, 退费的事情再说吧。我媳妇听了之后也没有跟我怎样,真的,不就500块钱吗,总之就轻描淡写的一句话,我立马又十分带劲的拾起了这块香饽饽。“要是这500块钱退不回来,以后想买什么都没门”
那当然不行了,我还要买机械键盘啊,我还要买Switch啊,我还打算考研呢。
总之,因为上面这仨理由,我又回来了。这个时候我的记得我学了26小时,还剩64个小时,大概还剩将近55天的样子,学习效率应该是67左右,平均分应该是80左右。
一样还是在每天加班到晚上11点,每天上午9点出门去上班。我在不影响每天一个半小时锻炼的基础上,硬是从睡眠时间中抽了一个半小时学英语,就这样坚持了一个半月把时间赶了上来,想一想我自己都觉得牛逼。

扯了一大堆没用的,唠点干的

我现在的时长够了90小时,学习效率到了100,平均分到了91

  • 前期找个积极的目标,学好之后可以怎样怎样,或者如何犒劳自己,还是能坚持段时间
  • 过了新鲜劲的话,根据损失厌恶心理,找个如果坚持不下来就会损失什么东西的对赌,而这个东西又是我无论如何都不能失去的。(还是挺有效的,看到个俩程序员的老婆为了督促自己老公健身对赌失败一方的老婆要去给胜利的一方去裸浴(呵呵,真疯狂,当然也很有效果))
  • 我还剩55天,但是还剩64个小时。原来每天学半小时嫌没时间,这他么每天要学一个多小时。呵呵,谁让自己作,之前没有坚持呢。不过来上一周之后,发现每天一小时也就那样
  • 前期先把总的学习时长提上去,后面30个小时再考虑学习效率
  • 三个标准里面,最难提的就是平均分了,前期不知道,一直在疯狂的开新课,够了一星就开新课,导致平均分被拉的很低。所以,不要着急开新课,每节课凑够了三星或者四星再开下一课,否则平均分会很低,攒的多了后期会很难提上来
  • 学习效率低的话不用着急,时长攒上来了,平均分上来了,后期基本也就提上来了
  • 再有,有啥问题勤于班班交流,体验还是很好的,哈哈

最后

  • 说这么多目的是为了给媳妇儿证明一下,我还是能说到做到的
  • 给大家推荐个电影《垫底辣妹》,很不错
  • 经过这段时间对懂你英语的学习,能明显感觉到自己口语和听力的提高,接下来会考虑买个小班课继续学下去
  • 我的流利说学习数据
  • 感谢美女班班Lidia平时的鼓励和帮助
  • 感谢组里面学神 丽荣和QUEEN 的日常打卡鼓励
  • 感谢我媳妇儿最后对我的鞭策
  • 感谢大家看我BB这么久

转载于:https://www.cnblogs.com/cg-Yun/p/10329641.html

<think>嗯,用户想了解C++模板参数中的嵌套类型定义,我需要先回忆相关知识。模板参数的嵌套类型应该是指在模板类或构体内部定义的类型,比如内部类或枚举。记得引用中的例子,比如引用[2]里的Binary模板构体中有一个枚举类型value。这可能就是嵌套类型的一个例子。 首先,要解释什么是嵌套类型定义。在模板类内部定义的类、构体、枚举等都属于嵌套类型。这些类型可以依赖于模板参数,根据不同的实例化生成不同的类型。例如,在模板类MyContainer中定义一个内部构体,这个构体可以使用模板参数T,这样每个MyContainer的特化都会有对应的内部构体。 然后,需要给出示例代码。比如,在模板类中定义一个嵌套的构体Node,用于链表节点。这样每次实例化模板时,Node的类型会根据模板参数T而变化。同时,可能还需要展示如何访问这个嵌套类型,比如通过typename Outer<T>::Node这样的语法。 另外,引用[3]中提到使用typename来提取嵌套类型,比如map_traits<Map>::key_type,这里需要用到typename关键字来告诉编译器这是一个类型。所以在示例中,当在模板外部访问嵌套类型时,必须使用typename来指明依赖类型。 还要注意用户提供的引用内容,比如引用[1]中的推导指南和引用[4]中的非类型参数,但用户的问题是关于嵌套类型的,所以重点放在引用[2]和引用[3]的例子。例如,Binary构体中的枚举value,以及versatile_function中使用map_traits来获取嵌套类型。 需要解释为什么需要嵌套类型,比如实现模板元编程,或者在泛型代码中提取容器相关的类型(类似STL的value_type)。同时,要注意语法细节,比如在模板外访问嵌套类型时必须使用作用域解析运算符和typename关键字。 可能用户还会关心如何在实际中使用这些嵌套类型,比如在函数参数或返回值中,或者作为其他模板的参数。这时需要展示具体的代码示例,明如何定义和使用。 最后,生成相关问题时要围绕嵌套类型的应用、语法、与模板参数推导的关系等方面提问,确保覆盖用户可能感兴趣的扩展知识点。</think>### C++模板参数的嵌套类型定义解释与示例 在C++模板编程中,**嵌套类型定义**指在模板类或模板构体内部定义的类型(如类、构体、枚举等)。这些类型可以依赖模板参数,且在不同模板实例化时生成不同的具体类型。以下是具体解释和示例: --- #### 1. 嵌套类型的基本用法 在模板类内部定义的类型,可通过模板参数传递或依赖模板参数生成。例如: ```cpp template<typename T> class Outer { public: // 嵌套构体定义 struct Node { T data; Node* next; }; // 嵌套枚举定义 enum Status { OK, ERROR }; }; ``` - **`Node`** 构体依赖模板参数 `T`,每个 `Outer<T>` 实例化的 `Node` 类型不同。 - **`Status`** 枚举与模板参数无关,但属于模板类的成员类型。 --- #### 2. 嵌套类型的访问 在模板外部访问嵌套类型时,需使用 **`typename` 关键字** 和 **作用域解析运算符**: ```cpp // 访问嵌套构体 typename Outer<int>::Node int_node; // 访问嵌套枚举 Outer<double>::Status status = Outer<double>::OK; ``` 此处 `typename` 告知编译器 `Outer<int>::Node` 是一个类型而非静态成员[^3]。 --- #### 3. 嵌套类型与模板元编程 嵌套类型常用于模板元编程,例如引用[2]中的递归计算二进制值: ```cpp template<int N> struct Binary { enum { value = Binary<N/2>::value * 10 + N%2 }; }; template<> struct Binary<0> { enum { value = 0 }; }; ``` - 嵌套枚举 `value` 利用模板参数 `N` 递归生成二进制数值。 --- #### 4. 提取嵌套类型的通用方法 通过 **特征类(Traits)** 提取容器嵌套类型,如引用[3]中的 `map_traits`: ```cpp template<typename Map> struct map_traits { using key_type = typename Map::key_type; using mapped_type = typename Map::mapped_type; }; template<typename Map> void print_types(const Map& m) { using Key = typename map_traits<Map>::key_type; using Value = typename map_traits<Map>::mapped_type; // 操作Key和Value类型 } ``` 此方法适用于需要统一处理不同容器类型的场景[^3]。 --- #### 5. 嵌套类型的实际应用 在STL中广泛使用嵌套类型,例如 `std::vector<T>::iterator` 或 `std::map<K,V>::value_type`。自定义模板时也可类似设计: ```cpp template<typename T> class MyContainer { public: using value_type = T; class Iterator { /* 迭代器实现 */ }; }; ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值