EagleBear2002 的博客

这里必须根绝一切犹豫,这里任何怯懦都无济于事

关键词:性侵犯、性自治权、积极自由和消极自由、尊严

性侵犯最是侵犯他人性自治权的一种犯罪

刑法中的性侵犯罪包括:强奸罪、强制猥亵侮辱罪、猥亵儿童罪等一系列对性自治权进行侵犯的犯罪。

性自治权

性自治权就是保护被害人(主要是保护女性)作为人拥有的在性问题上的自治权,是人的一项基本权利,主要是在性方面的消极自由。

阅读全文 »

从聂树斌案谈起

1994 年河北石家庄发生一起强奸杀人案,聂树斌被认定为凶手,随后被执行死刑。

十多年后,王书金在河南落网,交代河北案情。 2007 年一审被判处死刑的王书金,向河北高院提起上诉,理由是检察机关没有起诉他强奸杀害康某的罪行,导致无辜者聂树斌蒙冤,请求增加其罪。

2016 年 12 月 2 日,最高人民法院第二巡回法庭对聂树斌故意杀人、强奸妇女案,再次公开审理,宣告撤销原审判决,改判聂树斌无罪。

贝卡利亚之死刑存废的思考

阅读全文 »

关键词:生命权、主体难题、生存利益、

刑法学界公认,故意杀人是对生命权的侵犯。

伊比鸠鲁学派:人若在既无死亡,死亡即人已不在。死亡对死去的人来说不是一种恶。

主体难题

凶手像被害人开枪,可以说行为威胁了被害人的生命权。但当被害人死了,他已经不再在拥有生命权,行为又如何会对生命权造成损害。

阅读全文 »

关键词:第三方理论、禁止剥削、双重剥削

敲诈勒索悖论的提出

张三酒后进入色情场所消费,被妻子闺蜜李四发现。李四向张三勒索一万元。

按照权利学说,行为人拥有权利,通过放弃权利获得利益,只是一种正常的交易行为。

敲诈勒索的悖论

阅读全文 »

关键词:法律非刑化,约束权力,工具主义刑法观,程序正义

刑法是否只是镇压之法

刑:拿人开刀。

1983 年严打,刑法的镇压功能发挥到了极限。很多人被重判、冤枉,甚至被妄杀。流氓罪,最高刑死刑。(孙中国、李健和:《中国严打的理论与实践》)

《左传》:刑不可知,威不可测,则民畏上也一种秘而不宣的刑法,较之公开明示的法律,反而能够更大范围地打击一切所谓具有社会危害性的行为

阅读全文 »

关键词:因果关系、怀疑主义、禁止溯及

何为刑法上的因果关系

刑法上的因果关系指的是危害行为和危害结果之间的一种客观联系。

前提 1:危害行为与结果之间的关系,而不是任意行为。

前提 2:事实上的因果关系法律上因果关系

阅读全文 »

关键词:报应主义、功利主义、重刑主义、人道主义刑罚

刑罚的正当化根据

从古希腊时期,人们就开始讨论刑罚的正当化根据。

  • 报应主义:立足于过去,因为有了犯罪,所以要有惩罚。
  • 功利主义:立足于将来,惩罚是为了将来没有犯罪。

报应主义

阅读全文 »

构造函数

当类中未自主定义构造函数,编译器会提供默认构造函数,为什么?编译器会对一个空类做什么?

  1. 编译器只有在一定需要默认构造函数的时候,才去创建构造函数。
  2. 编译器会对一个空类生成这些函数:
1
2
3
4
5
6
7
8
9
class Empty {
// 编译器为空类提供的函数:
Empty(); // 默认构造函数
Empty(const Empty&); // 默认拷贝构造函数
~Empty(); // 默认析构函数
Empty& operator=(const Empty&); // 默认拷贝赋值函数
Empty *operator&(); // 默认重载取对象地址
const Empty *operator&() const; // 默认重载取常量对象地址
};

构造函数和析构函数

阅读全文 »

关键词:天生犯罪人理论、社会防卫论、优生学、犯罪饱和原理

刑法对犯罪的立场

刑法是关于犯罪和刑罚的法律规范的统称。包括犯罪论和刑法论两部分。

关于犯罪的两种立场:

  1. 自由意志论(决定论):认为人的自由意志选择犯罪,所以犯罪人必须要承担责任
  2. 天生犯罪人理论(被决定论)
阅读全文 »

空指针

1
2
#define NULL ((void *)0) // ANSI C
#define NULL 0 // C++

常量指针与指针常量

声明 性质
const int x; x 不可修改
int *p; 不能指向 const int
常量指针:const int *cp; *cp 不可修改,cp 可修改
指针常量:int * const p; p 的指向不可修改,*p 可修改
1
2
3
4
5
6
7
8
9
10
11
const int c = 128;
int* q = const_cast<int*>(&c);//强制类型转换
*q = 111;//企图通过变量指针修改常量
cout << " c " << &c << c << endl; // 这里的 c 是符号常量,所以在编译的时候,符号常量已经变为 128 了,相当于 define
cout << " q " << &q << q << endl;
cout << "*q " << q << *q << endl;
//Name Addr Value
// c 0012FF74 128
// q 0012FF70 0012FF74
//*q 0012FF74 111
//对于同一个地址 0x0012FF74,输出了不同的值
阅读全文 »