我写了一个矩阵类,可以采用不同的大小。现在我想为特定尺寸展开循环。我该怎么做?
我似乎能够开始工作的唯一方法是2-d的儿童班。但我想避免这种情况,因为它会导致很多重复的代码。
例如:
#include <iostream>
template<class T, size_t M, size_t N>
class matrix
{
matrix<T,M,N>& operator*= (const matrix<T,M,N> &B);
};
template<class T, size_t M, size_t N>
matrix<T,M,N>& matrix<T,M,N>::operator*= (const matrix<T,M,N> &B)
{
// ...
return *this;
}
int main()
{
return 0;
}
现在我想为M = 2
和N = 2
添加一个实现,我将展开所有循环以提高效率。
(我已经计划在之前的实现中展开,并且它确实似乎有意义,特别是对于此示例中的更复杂的操作。)
答案 0 :(得分:4)
您可以将public func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
let char = string.cString(using: String.Encoding.utf8)!
if (char.elementsEqual([0])) {
print("Backspace was pressed")
}
else {
print("WHAT DOES THE FOX SAY ?\n")
print(char)
}
return true
}
委托给重载的功能模板。 E.g:
operator*=