const 发布的文章

“const”

花束般的恋爱 magnet

magnet:?xt=urn:btih:112a625205957d47bcbded5a2870389b0510611e

花束般的恋爱 迅雷云盘
https://pan.xunlei.com/s/VMhMD_jVd7u7mZUfcUKGD1uPA1 密码gwyq
花束般的恋爱 电影天堂
◎译  名 她和他的恋爱花期(港)/We Made a Beautiful Bouquet/I Fell in Love Like A Flower Bouquet
◎片  名 花束みたいな恋をした
◎年  代 2021
◎产  地 日本
◎类  别 爱情/剧情
◎语  言 日语
◎字  幕 中文字幕
◎上映日期 2021-01-29(日本)
◎豆瓣评分 8.5/10 from 8705 users
◎IMDb评分 6.8/10 from 386 users
◎文件格式 x264 + ACC
◎视频尺寸 1280 x 720
◎文件大小 1690 MB
◎片  长 124 Mins
◎导  演 土井裕泰
◎主  演 菅田将晖
      有村架纯
      细田佳央太
      清原果耶
      小田切让
      押井守
      户田惠子
      岩松了
      小林薰
      韩英惠
      中崎敏
      小久保寿人
      泷内公美
      森优作
      古川琴音
      篠原悠伸
      八木亚里纱
      佐藤宽太
      冈部崇
      萩原实里
      福山翔大
      萩原利久
      片山友希
      宇野祥平
      佐藤玲
      水泽绅吾
◎简  介
  影片是《四重奏》导演土井裕泰,编剧坂元裕二的大银幕首部合作作品。故事讲述男女主人公因在东京明大前站错过末班电车而偶然相识,之后展开时代、时间、地点、全部的偶然都像命运一样同步的5年恋爱,展现了他们在既非大人也非孩童的时期里,迷茫前行的模样。
◎影片截图

Referenced from:https://www.dygod.net/html/gndy/dyzz/20210727/115338.html?ivk_sa=1024320u

拉尼娜现象(西班牙语:La Niña),又称反圣婴现象,是一种和厄尔尼诺现象相反的现象,即“东太平洋降温阶段”;因此用西班牙语中与厄尔尼诺(El Niño)相对应的阴性名词拉尼娜(La Niña)来代表。

厄尔尼诺是“男孩”的意思(定冠词专指的男孩,意思是幼年的耶稣,即“圣婴”),而拉尼娜是“圣女”(女孩)的意思。

太平洋上空的大气环流叫做沃克环流,当沃克环流变弱时,海水吹不到西部,太平洋东部海水变暖,就是厄尔尼诺现象;但当沃克环流变得异常强烈,就产生拉尼娜现象。一般拉尼娜现象会随着厄尔尼诺现象而来,出现厄尔尼诺现象的第二年,都会出现拉尼娜现象,有时拉尼娜现象会持续两、三年。

当中1964年-1965年及1998年底-2000年初、2007年中-2008年为强拉尼娜.

近日,国家气候中心官宣了一个重要消息:今年7月以来,赤道中东太平洋海温持续下降,预计10月进入拉尼娜状态,并于冬季形成一次弱到中等强度的拉尼娜事件。
消息一出,那个大家关心了好几年的老问题又来了——今冬会不会是冷冬?
明确一点,拉尼娜≠冷冬。
据气候中心数据统计,通过分析1951年以来历史上15次拉尼娜事件发现,有10个拉尼娜年我国冬季气温偏低,5个拉尼娜年我国冬季气温偏高。也就是说,不是每个拉尼娜年的冬季平均气温都偏低;出现拉尼娜事件以后,我国冬季偏冷的概率确实更大一些,约是偏暖概率的两倍。
而且,气温偏冷不等于冷冬。“偏冷”“偏暖”只是相较于平均状况而言,而“冷冬”“暖冬”则不同,是有严格标准的。

(图片来源:中国气象报社)
冷冬/暖冬是一个气候概念,有其专业且细致的气象判定标准,它有时并不等同于我们的实际体验。
以去年冬天为例。
去年我们也经历了一次中等强度的拉尼娜事件,但在今年3月国家气候中心发布消息中,2020年12月1日至2021年2月28日冬季为暖冬。
去年冬天不冷吗?当然冷过,而且是冷到破纪录。

↑图为2021年1月7日北半球500hPa风场+气温图,极地涡旋已覆盖到我国东北地区
去年年末到今年年初,我们先后经历了四场大寒潮(分别是12月12日-15日、28日-31日和1月5-8日、14日-17日)。尤其今年1月初的超级寒潮,极地涡旋直接南下延伸到了我国东北地区,来自数千公里之外的极地冷气团直接给我国北方地区带来了北极版寒潮体验。

↑2021年1月8日,广东清远连山金子山景区出现雾凇景观。(图/金子山工作人员)

1月6日-8日寒潮过程中,华北、黄淮等地气温创下不少纪录,北京、河北、山东、山西、陕西等省市共计60个气象观测站的最低气温突破或达到建站以来历史极值。北京最低气温跌至-19.6℃,创1966年2月23日之后最冷气温纪录;天津西青-19.9℃,打破当地1月最冷纪录,观测史第二冷;济南-18.3℃,创1月上旬最冷纪录,也是1953年1月17日之后出现的最低温度。

↑2021年1月7日,山东烟台降下暴雪,景象如同“冰河世纪”一般。(图/郑东)
所以如果你跟对这几场寒潮印象深刻的小伙伴说,上个冬天是暖冬,你要ta怎么想……

但气候中心的判定有错吗?没错啊!

因为2月我们国家又经历了一次历史罕见的回暖过程,生生把气温由偏冷拉成明显偏暖。

今年2月下旬,在强大暖气团和晴空辐射影响之下,我国西北地区东部、华北、黄淮、江淮等地气温迅速上升,其中近500个国家级站点打破2月历史最高气温纪录,生生把2月“热成”5月。北京2月21日最高气温达25.6℃,天津西青23℃,石家庄27.3℃,郑州28.3℃,西安26.5℃,合肥28.7℃,都是2月历史气温的新纪录。统计来看,全国2月平均气温较常年同期偏高2.9℃,为1961年以来同期最高。


↑2021年2月21日最高气温创2月纪录站点
就像绷紧的橡皮筋经历弹性形变后,依然会恢复原来的样子,去年冬天虽然每场过程看气温大起大伏,但平均来看,它的气温异常波动被“抚平”,甚至成了暖冬。所以你看,与其关注气象概念的冷冬或暖冬,普通公众更需关注的是气温异常波动的极端事件。
而在拉尼娜大背景下,更冷、更暖、更涝、更旱的极端天气在今年持续上演。

↑今年以来部分极端天气事件盘点。制图:罗嘉雪
3月,北方遭遇3次大范围沙尘天气,其中两次为强沙尘暴过程,北京遭遇近10年来最强沙尘暴。
5月至6月,极端强对流天气频繁上线,造成不同程度人员伤亡。5月13-16日,从黄淮南部、到华南北部一带陆续出现成片大到暴雨,江苏苏州发生强龙卷(气象行业标准三级,相当于美国的EF3级),湖北武汉发生强龙卷(气象行业标准三级,相当于美国的EF3级),灾调风力达17级以上,6月1日,黑龙江省尚志市遭遇龙卷风和冰雹强对流天气。
7月,北方接连遭遇两轮极端强降雨,河南成强降雨中心,暴雨成灾,引发全国关注。

7月中旬北方接连遭遇两轮极端强降雨。7月11-13日,华北东北遭遇特强降水过程,紧接着7月17-22日,河南、河北、山西又出现特强降雨过程,其中,河南成为强降雨中心,郑州、新乡、鹤壁和安阳共有20个国家级气象站日降雨量突破建站以来历史极值。

其中,郑州气象观测站最大小时降雨量达201.9毫米(20日16至17时),突破中国大陆小时降雨量历史极值(此前纪录为1975年8月5日河南林庄的198.5毫米)。


9—10月,刚过去不久的罕见秋老虎又给我们带来了“史上最热国庆假期”。

今年9—10月,黄淮南部至江南华南出现大范围高温天气,南方多地度过史上最热国庆假期,超过500个国家观测站达到或突破10月最高气温极值。重庆、合肥、长沙均打破最晚高温日纪录,重庆、合肥、南京还刷新10月最高气温纪录。

不仅我们国家经历了一系列极端事件,欧洲灾难性洪水、北美罕见高温热浪、格陵兰岛最高点首次降雨、欧洲罕见高温热浪、喀麦隆首次“降雪”等等,都在宣告一个事实——
极端天气事件正在成为新常态。

↑2021年7月15日,比利时列日,当地遭遇暴雨天气并引发洪水灾害。(签约供稿人/人民视觉/版权图片来源视觉中国)
世界气象组织近日发文表示,2020年,大气中的温室气体再次创下新纪录,年增长率高于2011-2020年平均水平,并且这一趋势在2021年仍在继续。全球气温还将继续升高,变暖可能引发的极端天气事件的可能性还将继续增大。
在这样的大背景下,今冬拉尼娜事件的影响叠加,会让情况更为复杂。所以回到最初的问题:今年冬天我们会被冻哭吗?
你可能已经有了答案。

Referenced from:https://news.dayoo.com/society/202110/28/140000_54096203.htm

gcc参数记录(一) - 一瞬光阴 - 博客园
update:2021-10-28
一、 -g

-g 可执行程序包含调试信息。-g 为了调试用的,加入后可用gdb调试。

二、 -o

-o指定输出文件名,格式: -o output_filename,确定输出文件的名称为output_filename,如果未指定会输出为默认文件,比如可执行文件会生成为a.out,目标文件名是source.o,其中source是源文件等。

 

三、-c

-c 只编译不链接

产生.o文件,就是目标文件,不产生执行文件。

 

四、-D

-D的作用是添加宏定义,如-DNDEBUG,作用如下:

NDEBUG 

头文件assert.h定义的宏受NDEBUG的影响。如果预程序在处理这个头文件时已经定义了NDEBUG,assert宏的内容就定义为空,这意味着assert宏不起作用。

所以,可以在最终发布程序的时候可以用-DNDEBUG关闭断言功能或者把#define NDEBUG加每个源文件中,但这条语句必须放在#include <assert.h>之前。

1 #include <stdio.h>
2
3 #definne NDEBUG
4 #include <assert.h>
5
6 int main()
7 {
8 int x = 0;
9 assert(x);
10 printf("%dn",x);
11 return 0;
12 }
 

trace(),assert()都只是在DEBUG模式下才起作用的,如果定义了NDEBUG,编译器会以为是非DEBUG的模式(虽然编译出来的程序还是很大),而且还可以进行调试,此时trace(),assert()就没有用了。就如同你编译成release版的时候这些没有用一样。
 

define DEBUG 会重新打开调试开关

NDEBUG宏由于字面意思,也被用于作为判断debug/release版本的宏,不过这个是编译器、环境相关的,并不可靠。比如vc中,对生成的release版本项目,默认定义这个宏,而gcc并没有定义,得用-DNDEBUG参数来定义。
 

五、-w

-w(小写),表示关闭编译时的警告,也就是编译后不显示任何warning,因为有时在编译时编译器会显示一些例如数据转换之类的警告,这些警告是我们平时可以忽略的。
 

六、-W和-Wall

-W选项类似-Wall,会显示警告,但是只显示编译器认为会出现错误的警告。

-Wall选项意思是编译后显示所有警告。
 

七、-O3

-O(大写),意思开始编译优化,level为3。
 

八、-shared

如果想创建一个动态链接库,可以使用gcc的-shared选项。输入文件可以是源文件、汇编文件或者目标文件。
 

九、-fPIC

-fPIC选项作用于编译阶段,告诉编译器产生与位置无关代码(Position-Independent Code)。

这样一来,产生的代码中就没有绝对地址了,全部使用相对地址,所以代码可以被加载器加载到内存的任意位置,都可以正确执行。

这是共享库所要求的,共享库被加载时,在内存的位置是不固定的。
 

十、-I参数与-L参数

-I(大写i)用于指定头文件目录。

  -I /home/xhx/include表示将/home/xhx/include目录作为第一个寻找头文件的目录,寻找顺序是:/home/xhx/include -> /usr/include -> /usr/local/include

-L用于指定程序链接库路径。

  -L/home/xhx/lib表示将/home/xhx/lib目录作为第一个寻找库文件的目录,寻找顺序是:/home/xhx/lib -> /lib -> /usr/lib -> /usr/local/lib

-l (小写l)用于指定链接库名称。

  -lxhx 表示在上面的lib路径中寻找libxhx.so的动态库文件,如果编译选项中加入-static 表示寻找libxhx.a静态库文件。
Referenced from:https://www.cnblogs.com/tiny1987/p/12964572.html

C++异常处理assert,throw,exit用法
update:2021-10-28
assert应用:
      在现实世界中,我们脑袋时刻都在判断对与错,对的事情我们会继续深入下去,而错的事情我们会马上停止,那么在编程开发中我们如何赋予程序这种判断事物对错的能力呢?其中一个方案就可以使用断言assert,我们最常用的地方就是在函数中检查形参的数据合法性。

1、函数所属头文件:

        assert.h

2、函数原型:

        void assert (int expression);

3、功能说明:

        assert的关键在于判断expression的逻辑真假,如果为false,就会在stderr上面打印一条包含“表达式,文件名,行号”的错误信息,然后调用abort结束整个程序。

4、程序实例:

#include <stdio.h>
#include <stdlib.h>
//#define NDEBUG        //可以禁止断言
#include <assert.h>

void main()
{
    //测试true情况:以写打开一个文件,不存在则创建新文件
    FILE *fpWrite = fopen("d:\\testWrite", "w");

    //不会出错
    assert(fpWrite != NULL);

    fclose(fpWrite);

    //测试false情况:以读打开一个文件,不存在会失败
    FILE *fpRead = fopen("d:\\testRead", "r");

    //会出错
    assert(fpRead != NULL);

    //程序调用abort退出,不会执行到此步
    fclose(fpRead);
    system("pause");
}

结果:

    当然,频繁的调用assert会影响系统性能,增加系统额外的开销,如果想禁用断言功能时,可以在assert.h头文件之前定义NDEBUG。

throw应用:
出错是时可以用throw,然后在catch里面处理,
asert只是一个debug的检查,检查条件的真假,在release下asert语句不会被调用。

    抛出异常(也称为抛弃异常)即检测是否产生异常,在C++中,其采用throw语句来实现,如果检测到产生异常,则抛出异常。该语句的格式为:
throw 表达式;
    如果在try语句块的程序段中(包括在其中调用的函数)发现了异常,且抛弃了该异常,则这个异常就可以被try语句块后的某个catch语句所捕获并处理,捕获和处理的条件是被抛弃的异常的类型与catch语句的异常类型相匹配。由于C++使用数据类型来区分不同的异常,因此在判断异常时,throw语句中的表达式的值就没有实际意义,而表达式的类型就特别重要。

    eg:除数为0的异常可以用try/catch语句来捕获异常,并使用throw语句来抛出异常,从而实现异常处理,实现代码:

#include <iostream>
using namespace std;
double fuc(double x, double y)
{
    if (y == 0)
    {
        throw y;
    }
    return x / y;
}
void main()
{
    double res;
    try
    {
        res = fuc(2, 3);
        cout << "the result of x/y is" << res << endl;
        res = fuc(4, 0);
    }
    catch (double)
    {
        cerr << "error of dividing zero.\n";
        exit(1);
    }    
}

1、基础介绍

try
{

//程序中抛出异常
throw value;

}
catch (valuetype v)
{

//例外处理程序段

}

语法小结:throw抛出值,catch接受,当然,throw必须在“try语句块”中才有效。

2、深入throw:
(i)、程序接受到throw语句后就会自动调用析构器,把该域(try后的括号内)对象clean up,然后再进
入catch语句(如果在循环体中就退出循环)。

这种机制会引起一些致命的错误,比如,当“类”有指针成员变量时(又是指针!),在 “类的构建器
”中的throw语句引起的退出,会导致这个指针所指向的对象没有被析构。这里很基础,就不深入了,提
示一下,把指针改为类就行了,比如模板类来代替指针,在模板类的内部设置一个析构函数。

(ii)、语句“throw;”抛出一个无法被捕获的异常,即使是catch(...)也不能捕捉到,这时进入终止函数
,见下catch。

3、深入catch:
一般的catch出现的形式是:
try{}
catch(except1&){}
catch(except2&){}
catch(...){} //接受所有异常
一般都写成引用(except1&),原因很简单,效率。

问题a:抛出异常,但是catch不到异常怎么办?(注意没有java类似的finally语句)
在catch没有捕获到匹配的异常的时候,会调用默认的终止函数。可以调用set_terminate()来设置终止函数,参数是一个函数指针,类型是:void (*terminate)()。

到这里,可以题个问题:“没有try-catch,直接在程序中"throw;",会怎么样?”

其他一些技巧:
4、try一个函数体,形式如下

void fun(type1,type2) try----try放在函数体后
{
函数定义
}
catch(typeX){}
这个用法的效果就相当于:
void fun()
{
try{函数定义}
}

5、throw一个函数体,形式如下:

void fun (); // 能抛出任何类型的异常
void fun () throw(except1,except2,except3)

           // 后面括号里面是一个异常参数表,本例中只能抛出这3中异常

void fun () throw() // 参数表为空,不能抛出异常
问题b:假设fun()中抛出了一个不在“异常参数表”中的异常,会怎么样?

答:调用set_terminate()中设定的终止函数。然而,这只是表面现象,实际上是调用默认的unexpected()函数,然而这个默认的unexpected()调用了set_terminate()中设定的终止函数。可以用set_unexpected()来设置 unexpected,就像set_terminate()一样的用法,但是在设定了新的“unexpected()”之后,就不会再调用 set_terminater中设定的终止函数了。

这个语法是很有用的,因为在用别人的代码时,不知道哪个地方会调用什么函数又会抛出什么异常,用一个异常参数表在申明时限制一下,很实用。

exit()应用:
函数: exit()
函数名: exit()
所在头文件:stdlib.h(如果是”VC6.0“的话头文件为:windows.h)
功 能: 关闭所有文件,终止正在执行的进程。
exit(1)表示异常退出.这个1是返回给操作系统的。
exit(x)(x不为0)都表示异常退出;
exit(0)表示正常退出。
exit()的参数会被传递给一些操作系统,包括UNIX,Linux,和MS DOS,以供其他程序使用。
stdlib.h: void exit(int status);
参 数 : status //程序退出的返回值
 
exit()和return的区别:
按照ANSI C,在最初调用的main()中使用return和exit()的效果相同。
但要注意这里所说的是“最初调用”。如果main()在一个递归程序中,exit()仍然会终止程序;但return将
控制权移交给递归的前一级,直到最初的那一级,此时return才会终止程序。return和exit()的另一个区别
在于,即使在除main()之外的函数中调用exit(),它也将终止程序。
_exit()与exit的区别:
头文件:
exit:#include<stdlib.h>
_exit:#include<unistd.h>
_exit()函数:直接使进程停止运行,清除其使用的内存空间,并销毁其在内核中的各种数据结构;
exit()函数则在这些基础上作了一些包装,在执行退出之前加了若干道工序。
exit()函数与_exit()函数最大的区别就在于 exit()函数在调用 exit 系统调用之前要检查文件的打开情况,把文件缓冲区中的内容写回文件。
Referenced from:https://www.cnblogs.com/ranjiewen/p/5549929.html