一个关于cc-mode的缩进问题

我最近从vim切换到emacs, 在使用emacs编写c++程序的时候, 我发现了一个和缩进相关的问题.

每当我将for和if写在同一行的时候, 会得到下面这个样子的缩进.

void list_all() {
	for (size_t i = 0; i < vec2.size(); i++) if (vec2[i]) {
			for (auto pr: vec1) {
			}
		}
}

但是我实际期望的缩进其实是这个样子的:

void list_all() {
	for (size_t i = 0; i < vec2.size(); i++) if (vec2[i]) {
		for (auto pr: vec1) {
		}
	}
}

最初, 我看了emacs wiki之后觉得可能是预设的缩进样式不对, 于是添加了如下代码在.emacs中:

(add-hook 'c++-mode-hook
		  (lambda()
			(c-set-style "stroustrup")))

但没有起到什么效果.

之后我仔细思考了一下, 可能缩进程序的想法是这个样子的:

void list_all() {
	for (size_t i = 0; i < vec2.size(); i++)
		if (vec2[i]) {
			for (auto pr: vec1) {
			}
		}
}

但是我不太想改我自己写代码的习惯. 有谁能帮我想个解决的办法吗?

p.s. 这个是在我机器上的效果