Сценарий: Структура с объявлением переменных-указателей и их созданием

Этот коммит содержится в:
Softonik 2024-01-26 04:17:06 +03:00 коммит произвёл Nobody
родитель 11825a08c4
коммит 108890c3bf
2 изменённых файлов: 21 добавлений и 6 удалений

Просмотреть файл

@ -32,10 +32,17 @@ func handleBasicLit(bl *ast.BasicLit) string {
return bl.Value return bl.Value
} }
func handleUnaryExpr(expr *ast.UnaryExpr) string { func handleUnaryExpr(expr *ast.UnaryExpr) (code string) {
code := expr.Op.String() cl, ok := expr.X.(*ast.CompositeLit)
code += handleExpr(expr.X) if ok {
return code code += "new "
code += handleIdentExpr(cl.Type)
code += "()"
} else {
code += expr.Op.String()
code += handleExpr(expr.X)
}
return
} }
func handleBinaryExpr(expr ast.Expr) string { func handleBinaryExpr(expr ast.Expr) string {

Просмотреть файл

@ -196,7 +196,7 @@ this->x=dev2->x;
} }
``` ```
Сценарий: Структура с объявлением переменных-указателей Сценарий: Структура с объявлением переменных-указателей и их созданием
* Исходник: * Исходник:
``` ```
package test package test
@ -206,11 +206,19 @@ var (
) )
type device struct {} type device struct {}
func main() {
dev1 = &device{}
}
``` ```
* Результат: * Результат:
``` ```
class device { class device {
public: public:
}; };
void main();
device *dev1,*dev2; device *dev1,*dev2;
``` void main() {
dev1=new device();
}
```